if语句不工作,python

时间:2013-01-23 16:07:17

标签: python if-statement

此代码要求用户选择1或2.如果为1,则为blahblah;如果2然后blahblah。如果两者都没有,则重复直到输入1或2。程序不接受1或2,而是直接进入'否则'并重复输入问题输入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 :(得分:4)

您需要存储input() function的返回值:

option = input('Which slice option do you want, even slice (1) or leftover(2)? ')

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

答案 1 :(得分:0)

  1. 您需要存储选项

    option = input('Which slice option do you want? even slice (1) or leftover(2)?')

  2. 如果您使用的是Python2(但不是Python3):

    1. 当你这样做时,如果有人传入1,它将是一个int,而不是一个字符串。

      if option == 1:

    2. 如果[http://docs.python.org/2/library/functions.html#input]中输入了一封信,input会导致错误,您可能需要raw_input

      option = raw_input('Which slice option do you want? even slice (1) or leftover(2)?')