if语句不起作用,python
这段代码会让用户选择输入1或2。如果输入1,就执行某些操作;如果输入2,就执行另外一些操作。如果用户输入的既不是1也不是2,程序会一直重复这个问题,直到用户输入1或2为止。不过,程序似乎不接受1或2的输入,而是直接跳到'else'部分,继续问用户输入1或2。
def optionType (): # pick option
#pdb.set_trace()
option = ''
print ('Which slice option do you want, even slice (1) or leftover(2)? ')
input (option)
if option == '1':
evenSlice() #includes decimal
elif option == '2':
leftoverSlice() #omits decimal
else:
print('Enter either 1 or 2.')
optionType()
谢谢你的帮助。
2 个回答
0
你需要保存用户选择的选项。
option = input('你想要哪个切片选项?偶数切片 (1) 还是剩余部分 (2)?')
如果你使用的是Python2(而不是Python3):
当你这样做时,如果有人输入1,它会被当作整数,而不是字符串。
if option == 1:
所以如果输入一个字母,
input
会报错 [ http://docs.python.org/2/library/functions.html#input ],你可能想用raw_input
。option = raw_input('你想要哪个切片选项?偶数切片 (1) 还是剩余部分 (2)?')
4
你需要把 input()
函数 返回的结果存起来:
option = input('Which slice option do you want, even slice (1) or leftover(2)? ')
这个函数的参数是你想要显示的文本,而不是你想要接收用户输入的变量。