我希望能够显示用户输入的任意数字值的两倍。
spam = int(input('choose any number: '))
print('Your number doubled is: ' + str(spam*2))
问题是用户输入小数,即3.4。它会出现错误,因为它变为浮点值。
Traceback (most recent call last):
File "<pyshell#66>", line 1, in <module>
spam = int(input('choose any number: '))
ValueError: invalid literal for int() with base 10: '3.4'
是否有一种简单的方法让用户输入任何数字(是整数还是浮点值)?
这是在python 3中,所以raw_input不起作用。
答案 0 :(得分:1)
您可以使用float
:
spam = float(input('choose any number: '))
print('Your number doubled is: ' + str(spam*2))
答案 1 :(得分:0)
这样做:
spam = input('choose any number: ')
try:
print('Your number doubled is: ' ,int(spam)*2)
except ValueError:
print('Your number doubled is: ' ,float(spam)*2)
它的工作方式是它会尝试转换为整数,如果它不起作用,它会将它转换为浮点数。