Python 如何继续执行此代码直到最后一个元素出现;4“;在输出列表中
当我执行下面的代码时,我得到Python 如何继续执行此代码直到最后一个元素出现;4“;在输出列表中,python,list,Python,List,当我执行下面的代码时,我得到 [0,0,1,2,2,3,4,4,5,6,7] 然而,我预计: [0,0,1,1,2,2,2,3,3,4] 我期望输出,因为print应该只发生在列表的最后一个元素(tails[-1])等于4之前 将numpy导入为np np.random.seed() 尾部=[0] 对于范围(10)内的x: coin=np.random.randint(0,2) 尾部。附加(尾部[x]+硬币) 如果尾部[-1]==4: 打印(尾部) 如果最后一个元素是4,请在打印完尾部中的最后一
[0,0,1,2,2,3,4,4,5,6,7]
然而,我预计:
[0,0,1,1,2,2,2,3,3,4]
我期望输出,因为print
应该只发生在列表的最后一个元素(tails[-1])等于4之前
将numpy导入为np
np.random.seed()
尾部=[0]
对于范围(10)内的x:
coin=np.random.randint(0,2)
尾部。附加(尾部[x]+硬币)
如果尾部[-1]==4:
打印(尾部)
如果最后一个元素是4
,请在打印完尾部中的最后一个元素后尝试break
关键字
if tails[-1] == 4:
print(tails)
break
然后可以尝试使用sys.exit()
退出脚本
这是我期望的代码,我自己解决了它
(对不起,伙计们不知道如何问正确的问题。)这是你的代码(添加了中断)
就这么简单 如果你不想要的话,为什么还要加上tails[x]+coin
?另外,你说,“最后一个元素是4”,然后你写尾[-1]==7
?什么???你的问题不是很清楚。检查7时打印,在文本中声明7时不想打印预期输出背后的逻辑是什么?是什么让数字从0增加到4?@Paritossingh这背后的逻辑是,我试图通过随机分配0或1np.random.randint(0,2)
并尝试记录随机游走来打印尾巴出现的数量。清理代码,保留一个变量,计算到目前为止看到的尾巴数量。担心事后“记录随机行走”。写一些简单的东西,显示你在每一轮中首先得到的是正面还是反面。实际上,如果反面[-1]==4,它就会打印出来。否则,就不会了。但是我想要的是,如果if
条件失败,它应该再次运行并在for循环中执行
import numpy as np
np.random.seed()
tails = [0]
def loop():
for x in range(10):
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
return tails
while True:
loop()
if tails[-1] == 4:
print(str(tails)+' - !! success !!')
break
else :
x = 1
for i in range(10):
for i in range(1, x + 1):
b = tails.pop(i)
import numpy as np
np.random.seed()
tails = [0]
for x in range(10):
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
if tails[-1] == 4:
print(tails)
break # breaks out the loop