我一直在尝试制作一个将cm转换为英尺的高度计算器,这是我的代码:
print "how tall are you (in cm)?"
cm = raw_input()
answer = cm*int(0.03280839)
print answer
我知道这很简单,但我刚刚开始,所以任何关于错误的提示都会很棒。 提前谢谢。
答案 0 :(得分:10)
cm
是一个字符串。您需要先将 it 转换为数字(整数或浮点数)。 (您不希望将转换因子转换为整数,因为结果只是将高度乘以0。)
print "how tall are you (in cm)?"
cm = raw_input()
answer = int(cm)*0.03280839
print answer
这可能就像我一样,但0.03280839并没有让我觉得这是一个明显的转换因素,而2.54(厘米/英寸)则更容易识别。您可以让Python完成将cm转换为英尺的工作 - 首先转换为英寸,然后转换为费用 - 以获得更易读的代码:
answer = int(cm) * 2.54 / 12
或者更好的是,定义一个常量来代替" magic"号。
FEET_PER_CM = 2.54 / 12 # 2.54 cm/inch ÷ 12 in/foot
# ...
answer = int(cm) * FEET_PER_CM
答案 1 :(得分:2)
首先,当你使用raw_input()
时,它会返回一个字符串。所以你必须使用int(cm)
其次,int(0.03280839)
将对数字进行四舍五入并返回0
。你为什么要使用int
?只是从那里减少了int
。所以完成的代码应该是:
print "how tall are you (in cm)?"
cm = raw_input()
answer = int(cm) * 0.03280839 # use int(cm) to convert the string to integer
print answer