0

重複の可能性:
ステートメントの動作中に奇妙なことがありますか?

次の場合、リスト内包表記を正しく実装し、ループを終了して、「else」の後にステートメントを実行するにはどうすればよいですか?'-'文字をスキャンしようとしましたが、機能しません。

試しました:

while(current != randomValue)

今すぐお試しください:

randomKey = random.choice(list(topic.keys()))

randomValue = random.choice(topic[randomKey])

current = "-" * len(randomValue)  

while (i for i in range (0, len(current)) if i != "-"):
    (statements)
else:
    (statements)
4

2 に答える 2

0

あなたのテストは意味がありません-ジェネレータのブール値は常にTrue

>>> a = (i for i in range(10))
>>> bool(a)
True

また、ループしているため、i=='になることはありません。ここで何をしようとしているのかはよくわかりませんが、実際のコードを最小限の重要な部分にまで煮詰めることができなければ、これを解決することはできません。(そして、それを行うことによって、あなたは自分で問題を見つけるかもしれないことを誰が知っていますか)-'range

于 2012-11-03T19:33:07.913 に答える
0

リスト内包表記の代わりに、whileステートメントをfalseにするのに苦労しているなど...私はこれを行いました。これはある意味で機能しました。

while ("-" in current ):
于 2012-11-03T19:39:52.233 に答える