从字符串更改 int 和 string

新手上路,请多包涵

The format_address function separates out parts of the address string into new strings: house_number and street_name , and returns: "house number X on street named Y" .

输入字符串的格式是:数字门牌号,后面是街道名称,它可能包含数字,但从不单独使用,并且可能有几个单词长。例如, "123 Main Street""1001 1st Ave""55 North Center Drive"

填补空白以完成此功能。

 def format_address(address_string):
  # Declare variables
  house_number=' '
  street_name=" "

  # Separate the address string into parts
  x=address_string.split(" ")
  # Traverse through the address parts
  for y in x:
    if(y.isdigit()):
      house_number=y
    else:
      street_name+=y
      street_name+=' '
    # Determine if the address part is the
    # house number or part of the street name
 # Does anything else need to be done
  # before returning the result?

  # Return the formatted string
    return "house number {} on street named {}".format(house_number,street_name)

print(format_address("123 Main Street"))
# Should print: "house number 123 on street named Main Street"

但它显示输出为:

 house number 123 on street named
house number 1001 on street named
house number 55 on street named

原文由 praneeth sunkavalli 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 436
1 个回答

当您使用 str.split() 时,您可以选择要将字符串拆分成多少段 (只要不超过最大值) 。在您的情况下,该字符串应该只拆分一次,以将门牌号与街道名称分开。此外,您可以格式化字符串:

 def format_address(address_string):
    num, st = address_string.split(' ',1)
    return f"house number {num} on street named {st}"

print(format_address("123 Main Street"))

输出:

 house number 123 on street named Main Street

原文由 Ann Zen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题