我有一段代码,它随机选择列表中的一个项目,并按照规则相互匹配。我想重复匹配N次,并计算变量tie和diff中存储的事件数量
问题是,目前,它重复N次相同的结果,而不是不同的匹配。如果我设定范围(10),它将重复相同的比赛结果10次。我想重复比赛N次,结果不一样
import random
rules = ['rock', 'paper', 'scissors']
pc1 = random.choices(rules)
pc2 = random.choices(rules)
tie = 0
diff = 0
def match():
if pc1 == pc2:
return False
print('tie')
if pc1 != pc2:
return True
print('different')
for _ in range(10):
if match() == False:
tie +=1
if match() == True:
diff +=1
print(tie, diff)
match
中使用random.choices
李>random.choice
。当random.choices
返回类似['rock']
的列表时,random.choice
将返回元素本身,例如'rock'
李>random.choice
被调用两次,结果可能不同。解决方案是将函数调用结果放入变量(如match_result = match()
)中,然后在if
中进行比较李>考虑到这些因素,代码可以如下所示:
相关问题 更多 >
编程相关推荐