在Python中,当输入是一个float时,如何打印它?

2024-04-25 22:34:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在回答中包括用户对“年龄”的回答。你知道吗

但是,包含'age'会返回一个错误。似乎是因为它前面有float。有没有办法包括对“你多大了”的回答?你知道吗

代码如下:

name = input("What is your name? ")
age = float(input("How old are you? "))
answer1 = (age + "!? That's very old, " + name + "!")
answer2 = (age + "? You're still young, " + name + ".")
if age > 60:
    print(answer1)
if age < 60:
    print(answer2)

Tags: 代码用户nameinputageif错误float
2条回答

你有几个选择。你知道吗

  1. 将年龄转换为字符串:

    answer1 = (str(age) + ...)

  2. 使用旧式字符串格式:

    answer1= "%f!? That's very old, %s!" % (age, name)

  3. 使用Python 3.6出色的字符串插值:

    answer1 = f"{age}!? That's very old, {name}!"

我会和第三个一起去。你知道吗

与Java不同,Python在连接对象(其中一些对象已经是字符串)时不会自动调用__str__方法。按照这种方式,必须手动将其转换为字符串:

answer1 = (str(age) + "!? That's very old, " + name + "!")

但是,首先要考虑使用正确的字符串格式:

answer1 = ("{age}!? That's very old, {name}!".format(age=age, name=name))

相关问题 更多 >