-3

我有这个代码,我想添加一种付款方式,让这个人以 6 美元开始。每次掷骰子时,如果它们相等,则将骰子的总和加到该人的钱中;如果它们不相等,则减去 2。

import random
a = random.randrange(1 , 6)
b = random.randrange(1 , 6)
print (a , b)
if a == b:
    print("you win" , 2 + a + b)
else:
    print("you lose")

几乎可以工作但非常愚蠢的试用代码:

import random
a = random.randint(1 , 2)
b = random.randint(1 , 2)
print (a , b)
e = 1
g = 1
for x in range(g):
    e = 6
    g = e/2
    if a == b:
        print("you win")
        e = a + b + e 
        
    else:
        print("you lose" )
        e = e - 2
    print(e)
4

3 回答 3

1

你先申报账户里的钱。您循环进行 10 次试验,您可以根据自己的喜好(while True:或类似的东西)更改循环。

对于每个循环,你给你的两个骰子一个随机数。然后,检查数字是否相等if diceA == diceB:。如果这个条件是True,你把骰子 A 和骰子 B 的总和加到那个人的钱上。如果条件不是True,那么程序到else:语句中。我们从 personMoney 中删除 2。

import random

personMoney = 6

for i in range(10):
    diceA = random.randint(1, 6)
    diceB = random.randint(1, 6)
    if diceA == diceB:
        personMoney += diceA + diceB
    else:
        personMoney -= 2
    print(personMoney)
于 2021-04-11T18:33:27.790 回答
0

因此,首先您需要声明一个代表玩家金额的变量。然后,我假设您希望有一个 while 循环,以便变量在两次抛出之间保持其状态。并且这个循环会中断,例如,当玩家破产时,即金额变为零。代码看起来像这样。

import random

money = 6
while money != 0:
    a = random.randint(1 , 6)
    b = random.randint(1 , 6)
    if a == b:
        money += a + b
    else:
        money -= 2
于 2021-04-11T18:34:00.917 回答
0

您似乎正试图按照以下方式形成一些东西:


import random

start = 6
play = True
while play:
    print(f"You have {start}")

    dice_a = random.randint(1,6)
    dice_b = random.randint(1,6)

    print(f"Dice 1 = {dice_a} Dice 2 = {dice_b}")

    if dice_a == dice_b:
        start += dice_a + dice_b
        print(f"You win! you now have {start}")
    else:
        start-=2
        print(f"You lose! you now have {start}")
    i = input("Play again? If yes press any key except N. If not press N")

    if i == "N" or i =="n":
        print(f"You finished with {start}")
        play=False

您可以继续添加更多条件,具体取决于资金是否已用完或更多等。

于 2021-04-11T18:38:07.617 回答