-1

このコードは、ユーザーに 1 または 2 の選択を求めます。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()

ご協力いただきありがとうございます。

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#input ] にinput文字を入力するとエラーが発生します。raw_input

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

于 2013-01-23T16:15:12.703 に答える