Python 硬币条纹不起作用。是因为嵌套的ifs吗?
试图计算100次抛硬币的正面或反面条纹,但我在条纹数上得到了奇怪的结果。你能帮我理解为什么吗 代码如下:Python 硬币条纹不起作用。是因为嵌套的ifs吗?,python,Python,试图计算100次抛硬币的正面或反面条纹,但我在条纹数上得到了奇怪的结果。你能帮我理解为什么吗 代码如下: import random numberOfStreaks = 0 streakCounter = 0 headOrTail = [] for coinFlip in range(101): result = random.randint(0,1) headOrTail.append(result) print (headOrTail) for i in headO
import random
numberOfStreaks = 0
streakCounter = 0
headOrTail = []
for coinFlip in range(101):
result = random.randint(0,1)
headOrTail.append(result)
print (headOrTail)
for i in headOrTail:
if headOrTail[i]==headOrTail[i-1]:
streakCounter +=1
if streakCounter == 6:
numberOfStreaks += 1
streakCounter = 0
else:
streakCounter = 0
print(numberOfStreaks)
您的问题可能是-for的
循环。你可能想说:
范围内的i(len(headOrTail)):
如果headOrTail[i]==headOrTail[i-1]:
...
更具体地说:如果您有一个列表并使用for循环对其进行迭代,则for循环将获取列表中的元素,而不是大多数其他编程语言中的索引。也就是说,Python的for
-循环实际上是每个-循环的
比较:
primes=[2,3,5,7,11,13]
对于素数中的p:
打印(p)#打印2、3、5、7、11、13
对于范围内的i(len(primes)):
打印(i)#打印0、1、2、3、4、5
在Python中使用索引进行迭代的一个好方法是使用enumerate
,它结合了以下两种方法:
对于枚举中的i,p(素数):
打印(“第%dth个素数为:%d”%(i,p))
“奇怪的结果”不是一个特定的问题。作为问题的一部分,展示您的实际结果,并描述它与预期结果的差异。更好的做法是问一个可重复的问题,f/e,从中读取一组特定的整数,因此您可以问一个特定的预期正确答案,为什么您的代码没有返回。请参阅指南。嗨,感谢您花时间解释发布我的问题的正确方式。我得到的“奇怪”结果来自列表行:print(numberOfStreaks),它应该显示我在列表标题栏中获得6个正面或反面条纹的次数,但是如果我计算列表中的正面和反面,我得到的结果永远都不正确。
循环中的范围
缺少一个)
。您好,谢谢您的回复。我只想浏览一下headOrTail列表,看看里面有多少条6头或6尾的条纹