0

私はif声明についてもっと学ぼうとしています。ユーザーにビールの量を入力してもらい、量が増えると異なる回答を出力するプログラムを作成しようとしました。何が間違っているのかわかりません。

私が期待しているのは、たとえば数字を入力したときです。5 結果は「ビールは素晴らしい」となるはずです。50 より低いからです。そして、60 と入力すると、「That's much of beer.」と出力されるはずです。50より高く100より低いからです。

Python のドキュメントを読みましたが、まだわかりません。これは私のコードです:

print "How many cans of beer do you want?"

beer = raw_input("Enter your amount: ")

if beer >= 1:
    print "Beer is awesome."
elif beer >= 50:
    print "That's a lot of beer."
elif beer >= 100:
    print "You're drinking way too much beer, man."
else:
    "Did you make a choice larger than 100? If yes, then you're crazy!"
4

4 に答える 4

5

raw_input は文字列を返します。それを使用して数学/操作を行うには、int に変換する必要があります。

beer = int(raw_input("Enter your amount: "))

また、投稿で何がうまくいかなかったか、または期待に反して常に言及してください。この場合は簡単にわかりますが、より複雑なコードでは、実際の問題が何であるかがすぐにわかりにくくなります。

編集:あなたのプログラムには別の問題がありますが、エラーなしで実行すると、自分でそれを理解できると思います。

于 2013-10-21T11:18:26.520 に答える
0

問題は、 raw_input が文字列 -= を返し、返された値と数値比較を行うために、それを に変換する必要があることintです。

beer = int(raw_input("Enter your amount: ")) 代わりに入力行を変更してみてください

于 2013-10-21T11:19:10.290 に答える
0

下限ではなく上限を使用する必要があります。そうしないと、最初の if が常に true になり、「ビールは素晴らしい」という結果になります。

if beer < 50:
    print "Beer is awesome."
elif beer < 100:
    print "That's a lot of beer."
elif beer < 500:
    print "You're drinking way too much beer, man."
else:
    "Did you make a choice larger than 500? If yes, then you're crazy!"
于 2013-10-21T11:24:57.070 に答える