if语句不起作用,python

-1 投票
2 回答
1261 浏览
提问于 2025-04-17 13:25

这段代码会让用户选择输入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
  1. 你需要保存用户选择的选项。

    option = input('你想要哪个切片选项?偶数切片 (1) 还是剩余部分 (2)?')

如果你使用的是Python2(而不是Python3):

  1. 当你这样做时,如果有人输入1,它会被当作整数,而不是字符串。

    if option == 1:

  2. 所以如果输入一个字母,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)? ')

这个函数的参数是你想要显示的文本,而不是你想要接收用户输入的变量。

撰写回答