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