0

私はプログラミング/ Pythonが初めてです。リストに単語を追加する関数を作成しようとしています。while ループを使用して、ユーザーが別の単語を追加するかどうかを確認しようとしました。ユーザーが「y」または「Y」を入力した場合、関数を再度実行します。ユーザーが何か他のものを入力した場合、関数がリストを返すようにします。関数を実行すると、何を入力しても関数が再び実行され続けます。助けてください。ありがとう

def add_list():
    x = []
    first_list = raw_input('Please input a word to add to a list ')
    x.append(first_list)
    response = raw_input('Would you like to enter another word ')
    while response == 'y' or 'Y':
        add_list()
    else:
        return x
4

2 に答える 2

4
while response == 'y' or 'Y':

する必要があります

while response == 'y' or response == 'Y':

またはさらに良い:

while response in ('y', 'Y'):

あなたがしたことがうまくいかない理由はここにあります。以下の各行は同等です。

while response == 'y' or 'Y'
while (response == 'y') or ('Y')
while (response == 'y') or True
while True
于 2012-11-17T09:51:21.857 に答える
1

リストを関数に渡すパラメーターにするだけです。

x = []
add_list(x)

add_list(x) あり

def add_list(x):
  first_list = raw_input('Please input a word to add to a list ')
  x.append(first_list)
  response = raw_input('Would you like to enter another word ')
  while response in ('y', 'Y'):
    add_list(x)
  else:
    return
于 2012-11-17T09:53:39.587 に答える