每次用户进行新赌注时,如何让我的程序创建一个新的随机数,目前每次运行时它只会产生黑色2。奇数生成的数字也必须是红色甚至是黑色。
import random
def roulette_wheel():
# opening interface
print("Welcome to the Roulette Wheel \nYou currently have $100 \nEnter a number 0-36 to bet on a number, -1 to bet on Black, -2 to bet on Red, or -3 to walk away. ")
#amount of money that the user begins with
user_flow = 100
while user_flow >= 1:
user_bet = input("What will you do:")
number = random.randint(1,36)
for number in (1, 35, 2):
color = ('red')
for number in (2, 36,2):
color = ('black')
# betting on black
if user_bet == '-1':
print("You are betting on black")
money = int(input("What is your bet:$"))
print('The result of the spin was', color, number)
if color == 'black':
user_flow = 2 * money + user_flow
print('Congrats! You now have $%d' %(user_flow))
else:
user_flow = user_flow - money
print('Sorry! You now have $%d' %(user_flow))
`
答案 0 :(得分:0)
如何使用random.choice()
代替random.randint()
?
import random
def roulette_wheel():
# opening interface
print("Welcome to the Roulette Wheel \nYou currently have $100 \nEnter a number 0-36 to bet on a number, -1 to bet on Black, -2 to bet on Red, or -3 to walk away. ")
#amount of money that the user begins with
user_flow = 100
while user_flow >= 1:
user_bet = input("What will you do:")
# betting on black
if user_bet == '-1':
print("You are betting on black")
elif user_bet == '-2':
print("You are betting on red")
elif user_bet == '-3':
break # exit here
else:
user_bet = int(user_bet)
print("You are betting on {0}".format(user_bet))
money = int(input("What is your bet: $"))
value = random.choice(
([1,'red'],
[2,'black'],
[35,'red'],
[36, 'black']))
color = value[1]
number = value[0]
print('The result of the spin was', color, number)
if user_bet == '-1' and color == 'black':
user_flow = 2 * money + user_flow
print('Congrats! You now have $%d' %(user_flow))
if user_bet == '-2' and color == 'red':
user_flow = 2 * money + user_flow
print('Congrats! You now have $%d' %(user_flow))
if user_bet > 0 and user_bet == number:
user_flow = 2 * money + user_flow
print('Congrats! You now have $%d' %(user_flow))
else:
user_flow = user_flow - money
print('Sorry! You now have $%d' %(user_flow))
答案 1 :(得分:0)
看起来你在循环中覆盖了number
?
number = random.randint(1,36)
for number in (1, 35, 2):
color = ('red')
做以下事情呢?
number = random.randint(1,36)
for value in (1, 35, 2):
if number == value:
color = ('red')
fwiw,一种更简单的方法是
number = random.randint(1,36)
if (number%2) = 1:
color = ('red')
else:
color = ('black')