如何在浮点输入中允许字符串?

时间:2014-05-10 04:25:19

标签: python python-3.x input

所以我要求我的用户输入一个数字(浮点数) num=float(input("Please enter a number")) 但我也要求用户输入值" q"退出 并且因为这个变量只能接受浮点数,程序不会让用户输入字符串(" q"),是否可以这样做?

2 个答案:

答案 0 :(得分:2)

只有当它不等于q时,才会出现一个字符串并将其解析为浮点数。

temp = input("Please enter a number")
if not temp == "q":
   num = float(temp)

答案 1 :(得分:1)

您正在尝试自动将输入转换为浮点数。如果你不想在所有情况下都这样做,你应该在这里添加一些if/else逻辑:

input_string = input("Please enter a number")
if not input_string == 'q':
    num = float(intput_string)

或者,为了更加pythonic你应该尝试/除了策略:

input_string = input("Please enter a number")
try:
    num = float(input_string)
except ValueError:
    if input_string == 'q':
        # However you exit

根据EAFP原则(https://docs.python.org/2/glossary.html),第二个在技术上更加pythonic