繁体   English   中英

Python,在循环内追加

[英]Python, append within a loop

所以我需要保存循环的结果,但遇到了一些困难。 我想将结果记录到新列表中,但是出现“字符串索引超出范围”和其他错误。 最终目标是记录1-5、2-6、3-7等数字的乘积,最终保持最高乘积。

def product_of_digits(number):
        d= str(number)
        for integer in d:
            s = 0
            k = []
            while s < (len(d)):
                j = (int(d[s])*int(d[s+1])*int(d[s+2])*int(d[s+3])*int(d[s+4]))
                s += 1
                k.append(j)
            print(k)

product_of_digits(n)

前段时间类似的问题。 嗨Chauxvive

这是因为您要检查直到d的最后一个索引为s ,然后再进行d[s+4]等等。相反,应将while循环更改为:

while s < (len(d)-4):

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM