これらの行で:
foo = []
a = foo.append(raw_input('Type anything.\n'))
b = raw_input('Another questions? Y/N\n')
while b != 'N':
b = foo.append(raw_input('Type and to continue, N for stop\n'))
if b == 'N': break
print foo
ループブレイクのやり方は?ありがとう!
これらの行で:
foo = []
a = foo.append(raw_input('Type anything.\n'))
b = raw_input('Another questions? Y/N\n')
while b != 'N':
b = foo.append(raw_input('Type and to continue, N for stop\n'))
if b == 'N': break
print foo
ループブレイクのやり方は?ありがとう!
list.append は None を返します。
a = raw_input('Type anything.\n')
foo = [a]
b = raw_input('Another questions? Y/N\n')
while b != 'N':
b = raw_input('Type and to continue, N for stop\n')
if b == 'N': break
foo.append(b)
None であるリスト追加の結果に b を割り当てています。foo を見ている場合でも、foo.append によって作成されたリストを見て、文字 'N' と比較することになります。入力で N のみを入力した場合でも、foo の値は少なくとも ['N'] のようになります。次の方法で b を完全に削除できます。
while True:
foo.append(raw_input('Type and to continue, N for stop\n'))
if 'N' in foo: break
これにより、リストに「N」文字が残ります。それが意図されているかどうかはわかりません。
これはそれを行う方法です
foo = []
a = raw_input('Type anything.\n')
foo.append(a)
b = raw_input('Another questions? Y/N\n')
while b != 'N':
b = raw_input('Type and to continue, N for stop\n')
if b == 'N': break
foo.append(raw_input)
print foo
に追加された最後の要素を確認するだけですfoo
:
while b != 'N':
foo.append(raw_input('Type and to continue, N for stop\n'))
if foo[-1] == 'N': break # <---- Note foo[-1] here