Python 掷骰子游戏,提供一个额外的回合

Python 掷骰子游戏,提供一个额外的回合,python,python-3.x,Python,Python 3.x,所以我写了一个简单的骰子游戏,两个玩家掷两个骰子,然后把他们的分数加起来,直到其中一个达到100分。我面临的问题是,当一名球员打出100分时,游戏允许另一次投掷,我如何阻止它 import random a=random.randint(1,6) b=random.randint(1,6) c=random.randint(1,6) d=random.randint(1,6) ta=0 tb=0 print("Vai vēlaties mest?") y=input("y/n:")

所以我写了一个简单的骰子游戏,两个玩家掷两个骰子,然后把他们的分数加起来,直到其中一个达到100分。我面临的问题是,当一名球员打出100分时,游戏允许另一次投掷,我如何阻止它

import random       
a=random.randint(1,6)
b=random.randint(1,6)
c=random.randint(1,6)
d=random.randint(1,6)
ta=0
tb=0
print("Vai vēlaties mest?")
y=input("y/n:")
if y == "y":
 print("Jūs uzmetāt:")
 print (a,b,"|", a+b+ta)

 print("Pretinieks uzmeta:")
 print (c,d,"|", c+d+tb)
else:
 print ("Jūs zaudējāt")
while ta<=100 and tb<=100:
 ta+=a+b
 tb+=c+d 
 a=random.randint(1,6)
 b=random.randint(1,6)
 c=random.randint(1,6)
 d=random.randint(1,6)
 print("Vai vēlaties mest?")
 y=input("y/n:")
 if y == "y":   
  print("Jūs uzmetāt:")
  print (a,b,"|", a+b+ta,)

  print("Pretinieks uzmeta:")
  print (c,d,"|", c+d+tb)
 if y=="n":
  print ("Jūs zaudējāt")
 elif ta>=100:
 print("Jūs uzvarējāt")
 elif tb>=100:
  print("Jūs zaudējāt")
随机导入
a=随机随机随机数(1,6)
b=随机随机随机数(1,6)
c=随机随机随机数(1,6)
d=随机随机随机数(1,6)
ta=0
tb=0
打印(“Vai vēlaties mest?”)
y=输入(“y/n:”)
如果y==“y”:
印刷品(“Jūs uzmetāt:”)
打印(a,b,“|”,a+b+ta)
打印(“Pretinieks uzmeta:”)
打印(c,d,“|”,c+d+tb)
其他:
印刷品(“Jūs zaudēJāt”)
当ta=100时:
印刷品(“Jūs zaudēJāt”)

是的,我知道这可能写得更短更好,但这是学校对我们的要求,所以只有你在这里看到的命令才允许使用
,而ta<100和tb<100:

另一个问题是,在更新
ta
tb
之后,您正在计算
a
d
的新随机值,但随后将这些新值添加到同一循环中。这样做的效果是总是打印下一次通过时的ta和tb,这将使您看起来已经超过100

作为一个单独的观点,不用深入研究,我怀疑您可以用
a=b=c=d=ta=tb=0
替换
import random
while ta…
之间的所有内容,并获得相同的行为

最后,您可以缩短随机分配,从而:

(a, b, c, d) = [random.randint(1, 6) for _ in range(4)]

我强烈建议缩进4个空格,以使代码更具可读性!谢谢你关于缩短随机分配的建议,我正在寻找类似的东西。但是,taI已经更新了我的答案来解释为什么我认为你超过了100。