0

次のようなリストのリストがあります。

ブレッドスティック = [["name1", 45, 140]["name2", 85, 95]]

ビッグ リスト内の各リストの 3 番目 (または no[2​​]) の要素は、ユーザーが指定した変数を使用した計算の結果であり、80 を超えることはできません。80 を超える場合は、エラーを返す必要があります。計算結果を出力する代わりにメッセージを表示します。

私がこれまでに試したこと:

i = 0
while i <= len(breadsticks):
     if breadsticks[i][2] > 80:
         print("you have entered too many breadcrums")
     elif i == len(breadsticks):
         for bread in breadsticks:
              print(breadsticks[bread][2])
     i += 1

これを行う私の試みはうまくいかないだけでなく、不器用でもあります。このようなことを遅らせるエラーメッセージを出すための他のスムーズな方法はありますか?

4

1 に答える 1

1

ネストされた各リストをテストするジェネレーター式でany()関数を使用します。

if any(bread[2] > 80 for bread in breadsticks):
    print("You have entered too many breadcrumbs")

これは、テストがTrue.

ループ内で直接ループする方が簡単であることに注意してくださいbreadsticks

for bread in breadsticks:
    print(bread[2])
于 2013-08-26T21:59:02.627 に答える