【问题标题】:Python, append within a loopPython,在循环中追加
【发布时间】:2014-05-08 17:51:26
【问题描述】:

所以我需要保存循环的结果,但我遇到了一些困难。我想将我的结果记录到一个新列表中,但我得到“字符串索引超出范围”和其他错误。最终目标是记录数字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)

【问题讨论】:

    标签: python list loops append product


    【解决方案1】:

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

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

    while s &lt; (len(d)-4):

    【讨论】:

    • 这就是你说这样做的原因!谢谢!!
    • @chauxvive,是的。没有事故。一切发生的原因。 :) 如果我的回答有帮助,你能接受吗?谢谢
    • 是的!不得不等到计时器到了。再次感谢。
    猜你喜欢
    • 2017-08-24
    • 2014-11-19
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2019-09-21
    • 1970-01-01
    相关资源
    最近更新 更多