Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何继续执行此代码直到最后一个元素出现;4“;在输出列表中_Python_List - Fatal编程技术网

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或1
np.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