我试图在python中的一个变量上使用2种数据类型?

时间:2016-09-28 09:52:01

标签: python

我试图在我的代码上获得浮点数据类型。到目前为止我的代码是;

age = int (input("Age of the dog: "))

if age <= 0:
    print ("This can not be true!")
elif age == 1:
    print ("He/she is about 14 in human years.")
elif age == 2:
    print ("He/she is about 22 in human years.")
elif age > 2:
    human = 22 + (age - 2) * 5
    print ("He/she is about", human, "human years")

2 个答案:

答案 0 :(得分:1)

由于您没有提及您是否希望给定的年龄是浮点数或输出应该是浮点数,我在这里添加了: - )

仅限&#34;获得&#34;浮点,你的代码就够了。除了浮点数将四舍五入。如果您不希望对数字进行舍入而不是int(input(,请使用float(input(,您就可以了。

如果您希望将年龄作为浮点处理,您可以稍微更改年龄计算逻辑,以确保您将处理年龄作为浮点数的更多可读性。同时添加异常处理也不会受到伤害。

具有异常处理的代码:

try:
    age = float(input("Age of the dog: "))
except:
    print "Age given is not a valid number"
    age = 0

if age <= 0:
    print ("This can not be true!")
elif age == 1:
    human_age = 14
elif age == 2:
    human_age = 22
elif age > 2:
    human_age = 22.0 + ((age - 2) * 5.0)
print ("He/she is about %f human years" % (human_age))

答案 1 :(得分:0)

如果您将第一行更改为

age = float(input("Age of the dog: "))

您的程序将显示浮点时间。