2
私はあなたのすべての宝くじ番号を取り、あなたが入力した当選番号とそれらを(交差を使って)比較する簡単なプログラムを作ろうとしています。Python:Elif Breakの問題
私はあなたの番号を入力する場所を決めました。サブリストにサブミットされ、5つの別々のセットに変換されて比較されます。ただし、スクリプトを実行すると、リストの長さが5のときにwhileループが中断されません(これが目標です)。
誰かが間違っていることを説明することはできますか?あるいは、このプログラム全体を操作するより良い方法かもしれません。私はPythonの世界には比較的新しいので、私はちょうどダイビングして、このプログラムを動作させようとしています。
# Start Program
def set_convert(list):
conversion = set(list)
return conversion
def comparison(winning_numbers, my_numbers):
pass
def main():
print('Welcome to the Lottery Checker v1.0!')
winning_numbers = [int(x) for x in input('Enter the winning numbers(Sep w/ Spaces): ').split()]
winning_set = set_convert(winning_numbers)
my_numbers = []
while True:
numbers = [int(x) for x in input('Enter your numbers(Sep w/ Spaces Max: 5): ').split()]
if len(numbers) == 6:
my_numbers.append(numbers)
print('Added! Want to add more?')
elif len(my_numbers) == 5:
break
else:
pass
else:
pass
print('Here are your numbers: {}. Good luck! :-)'.format(my_numbers))
main()
「最大:5」と言ったときに、なぜ「len(numbers)== 6」をチェックしていますか? –
'if'節の直前で' my_numbers'を印刷して検査してください。何を手に入れますか? –
デバッガの使い方を知っていますか?私はあなたが今学ぶべきことだと思います。ビジュアルデバッガでコードをステップ実行することで、すべての変数とプログラムロジックで何が起こっているかを一目で確認することができます。私はいくつかの[Pythonビジュアルデバッガの提案](http://stackoverflow.com/questions/16473278/python-visual-debugger)を投稿しました。私はあなたがその答えを見て、リストされたデバッガのどれかを選んで、コードをステップ実行することをお勧めします。このような問題をトラブルシューティングする方法については、多くのことを学びます。 –