2

我如何让我的程序在每次用户下注时创建一个新的随机数,目前它只会在我每次运行时产生黑色 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))

      `
4

2 回答 2

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')
于 2017-10-05T01:32:34.010 回答
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))
于 2017-10-04T21:22:00.793 回答