Ive been trying to make a random number generator with some luck stuff but im stuck here
import random
randomnumber = random.sample(range(1, 1000), 1)
print(randomnumber)
def luckfactorfunction():
if randomnumber != 777:
print("jackpot")
else:
if randomnumber != range(1, 776) and range(778, 1000):
print("better luck next time")
luckfactorfunction()
print doesnt work even though i cant find any errors
Your code never calls luckfactorfunction(). Check indenting, I think you have an error with that.
I'm pretty sure this does not do what you think it does:
randomnumber != range(1, 776) and range(778, 1000)
A number will never equal an iterator, so randomnumber != range(1, 776) is always true.
Do not use randome.sample to get a random int in some range. Instead of this:
randomnumber = random.sample(range(1, 1000), 1)
do this:
randomnumber = random.randint(1, 999)
Can you describe what this code is supposed to do?
def luckfactorfunction():
if randomnumber != 777:
print("jackpot")
else:
if randomnumber != range(1, 776) and range(778, 1000):
print("better luck next time")
luckfactorfunction()
8 is a lucky number in China.
I think you should have at least secondary and tertiary prizes.
Below, the function gives preference to 7 over 8. How will you deal with a number containing 7 and 8?
How will you deal with 778 or 887 or combinations thereof?
import random
def luckfactorfunction():
randomnumber = random.randint(1, 1000)
if randomnumber == 777:
return "You hit the jackpot with 777"
elif randomnumber == 888:
return "You hit the Chinese jackpot with 888"
elif '77' in str(randomnumber):
return 'Congrats, you got 2 sevens right!'
elif '88' in str(randomnumber):
return 'Congrats, you got 2 Chinese lucky eights right!'
elif '7' in str(randomnumber):
return 'Congrats, you got 1 seven right!'
elif '8' in str(randomnumber):
return 'Congrats, you got 1 Chinese lucky eight right!'
else:
return "Sorry, nothing, better luck next time."
for i in range(20):
luckfactorfunction()