Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python randomized program not working out

I made a basic randomized program on my Raspberry Pi, and it goes somewhat like this.

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.")

if you cannot tell what it does, it has a chance of giving you a virtual PSP, Wii U, and so on. But all it is doing is printing rather "You win a Sony PSP", or "Not your lucky day, Try again." What is wrong? Any fixes?

like image 863
cookie huffman Avatar asked Sep 15 '26 09:09

cookie huffman


1 Answers

Put the largest number first:

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.")

if WinorLose is > 400 then it is also > 100 so you would always print the first statement.

You might also want to use an upper and lower bound:

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.")

Using if 400 <= WinorLose < 500 etc.. would work in any order as we are setting a range with a lower and upper bound so unless WinorLose is in that range the statement would not evaluate to True.

like image 123
Padraic Cunningham Avatar answered Sep 17 '26 22:09

Padraic Cunningham



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!