计算特定数字在for循环中出现的次数



我正在尝试制作一个骰子游戏,掷10次骰子,如果你得到2个1,你就会得到额外的分数

这是for循环

import random
rolls = 10
total = 0     
for i in range(1, rolls + 1):
n = random.randint(1, 6)
total += n
print(f'Roll {i}: [{n}]')

如何让它告诉我在任意一次投掷中是否有2个1

两个骰子表示两个随机输入。所以你需要做两个randint。然后您可以检查两者是否都是1

import random
rolls = 10
total = 0     
for i in range(1, rolls + 1):
n1 = random.randint(1, 6)
n2 = random.randint(1, 6)
if n1 == 1 and n2 == 1:
total += 1
print(f'rolled {n} times. Got both 1s {total} times')

你可以用一个变量跟踪有多少个1,让我们调用numberOfOnes并在每次摇出1时增加它。

import random
rolls = 10
total = 0
numberOfOnes = 0    
for i in range(1, rolls + 1):
n = random.randint(1, 6)
total += n
if n == 1:
numberOfOnes += 1
print(f'Roll {i}: [{n}]. {numberOfOnes} 1's rolled so far!')
#here we'll check if we rolled 1's at least twice
if numberOfOnes >= 2:
print("You got an extra point!")

如果你想处理两个骰子(滚动10次),你可以检查@MSH的答案。

相关内容

  • 没有找到相关文章

最新更新