-1

此代码要求用户选择 1 或 2。如果 1,则 blahblah;如果是 2,那么 blahblah。如果两者都没有,则重复直到输入 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()

谢谢你的帮助。

4

2 回答 2

4

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

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

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

于 2013-01-23T16:09:07.590 回答
0
  1. 你需要存储选项

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

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

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

    if option == 1:

  2. 所以如果在 [ http://docs.python.org/2/library/functions.html#inputinput ]中输入一个字母会导致错误,你可能想要raw_input

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

于 2013-01-23T16:15:12.703 回答