【发布时间】:2021-10-09 04:33:35
【问题描述】:
我的目标是打印两个骰子滚动的 while 循环,它们将继续滚动,直到两个骰子都是 1 和 1,在这种情况下,它们都是奇数,都是双打。但是,如果他们掷出任何其他数字,例如 2 和 2,则将被视为偶数和双数。最后,我想记录骰子滚动了多少次,直到两个都掷出 1,以及赔率、偶数和双倍出现的频率。由于整个程序太长,我只包含一段代码。
我不知道从哪里开始,而且我是 python 新手。
condition2 = False
while condition2 == False:
count = 0
die1 = random.randint(1,sides+1)
die2 = random.randint(1,sides+1)
evens = "Evens!"
odds = "Odds!"
doubles = "Doubles!"
snake_eye = "Snake Eyes!"
sum_value = "Sum is size value!"
highroll = "High Roll!"
high_low_roll = "High/Low Roll!"
low_high_roll = "Low/High Roll!"
if die1 % 2 == 0 and die2 % 2 == 0: #For the even numbers
if die1 == die2 and die1 + die2 == sides: #For even numbers that add up to sum value
print("die #1 is", "*"+str(die1)+"*", "and die #2 is", "*"+str(die2)+"*", evens, doubles, sum_value)
elif die1 == 6 and die2 == 6: #For high roll
print("die #1 is", "*"+str(die1)+"*", "and die #2 is", "*"+str(die2)+"*", evens, doubles, highroll)
elif die1 + die1 == die2: #Even numbers that are equal
print("die #1 is", "*"+str(die1)+"*", "and die #2 is", "*"+str(die2)+"*", evens, doubles)
else: #Even numbers that are simply even, nothing else
print("die #1 is", "*" + str(die1) + "*", "and die #2 is", "*" + str(die2) + "*", evens)
【问题讨论】:
-
condition2什么时候是真的?什么是sides -
您可以在循环外创建一个值为 0 的变量,并在循环内每当需要打印某些内容时增加其值并在最后打印变量的值
-
condition2 在两个骰子都掷出 1 时为真。边是用户的输入,询问他们的骰子有多少边。
-
非常感谢,最初我的计数不正确,因为我在循环内创建了变量,所以每次我打印出变量时,他们都会说 1。现在我试着把它放在外面循环,并打印正确的变量
标签: python python-3.x