gpt4 book ai didi

python - 为什么我可以连接 2 个字符串而不是一个字符串和一个浮点值?

转载 作者:行者123 更新时间:2023-12-01 23:23:35 25 4
gpt4 key购买 nike

这是我一直在尝试做的一些代码,一旦我从角色年龄中删除 "" 代码就不起作用了 有人可以解释我做错了什么以及如何做的我可以修好吗?

character_name = "Tom"
character_age = "50.86798"
is_male = False
print("There was once a man named " + character_name + ",")
print("he was " + character_age + " years old")

character_name = "Mike"
print("He really liked the name " + character_name + ",")
print("but he didn't like being {0}.".format(character_age))

最佳答案

加上引号,character_age 是一个字符串。如果没有引号,character_age 是一个 float ( float )。连接值时(想想:添加、组合、求和等),一般的经验法则是只能连接相似的值。因此,当运行这一行时:

print("he was " + character_age + " years old")

如果 character_age 不是字符串,将引发异常。


如果您想将 character_age 作为 float 运行代码,这里有一些可能的解决方案(可能有,而且很可能有更多):

  1. character_age转换为字符串

这将涉及调用 Python 内置的 str() 函数并传递 character_age。这将以其字符串表示形式返回存储在 character_age 中的 float :

character_age = 50.86798
...
print("he was " + str(character_age) + " years old")
  1. 使用字符串格式化将character_age格式化成字符串

使用您最喜欢的字符串格式化样式,无论是 C 样式字符串格式化、str.fomat() 方法还是 f 字符串:

character_age = 50.86798
...
print("he was %s years old" % character_age)
print("he was {} years old".format(character_age))
print(f"he was {character_age} years old")

关于python - 为什么我可以连接 2 个字符串而不是一个字符串和一个浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67613766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com