3

Raspberry Pi でランダム化された基本的なプログラムを作成したところ、次のようになりました。

import random
print ("Welcome to the PC Expo's new game, PC Dispenser, what will you win?")
WinorLose = random.randint(1, 1000)
if WinorLose <100:
    print ("You won a Nintendo Wii.")
elif WinorLose >200:
    print ("You won a Sony PSP.")
elif WinorLose > 300:
    print ("You won a Nintendo Wii U.")
elif WinorLose > 400:
    print ("You won a Sony PS Vita.")
else:
    print ("Not your lucky day, Try again.")

print ("Thank you for the visit.")

それが何をするかわからない場合は、仮想 PSP や Wii U などを提供する可能性があります。しかし、それがしているのは、「あなたはソニー PSP を獲得しました」または「あなたの幸運な日ではありません。もう一度やり直してください」ではなく印刷するだけです。なにが問題ですか?修正はありますか?

4

2 に答える 2

6

最大数を最初に置く:

WinorLose = random.randint(1, 1000)
print(WinorLose)
if WinorLose > 400:
    print ("You won a Sony PS Vita.")
elif WinorLose > 300:
    print ("You won a Nintendo Wii U.")
elif WinorLose > 200:
    print ("You won a Sony PSP.")
elif WinorLose < 100:
    print ("You won a Nintendo Wii.")   
else:
    print ("Not your lucky day, Try again.")

である場合WinorLose> 400> 100常に最初のステートメントを出力します。

上限と下限を使用することもできます。

if 400 <= WinorLose < 500:
    print ("You won a Sony PS Vita.")
elif 300 <= WinorLose < 400:
    print("You won a Nintendo Wii U.")
elif 200 <= WinorLose < 300:
    print ("You won a Sony PSP.")
elif  WinorLose < 200:
    print ("You won a Nintendo Wii.")    
else:
    print ("Not your lucky day, Try again.")

etc.. を使用if 400 <= WinorLose < 500すると、下限と上限で範囲を設定しているため、任意の順序で機能するため、 がWinorLoseその範囲内にない限り、ステートメントは True と評価されません。

于 2015-03-24T00:06:54.143 に答える