需要在Python中迭代地添加数组的元素

时间:2017-10-30 11:41:21

标签: python python-3.x

你能帮我写一个python程序(使用Python 3.4)迭代地添加一个数字的元素,直到总和达到一个数字。我的计划如下:

import random
import sys
import os

n = input('Please enter the number: ')
ar = list(map(int, str(n)))
sm = sum(ar)
ar_sm = list(map(int, str(sm)))
total_num = sum(ar_sm)

print(total_num)

我对这种逻辑不满意,我相信有更好的方法可以做到这一点。

1 个答案:

答案 0 :(得分:0)

当需要第三次迭代时,您的逻辑不起作用。例如,如果您的输入为99999999999,则结果为18。你需要一个循环:

n = input('Please enter the number: ')

while len(n) > 1:                 # If string length is 1, then stop
    numlist = [int(x) for x in n] # Makes an integer list from all chars in the input string
    n = str(sum(numlist))         # Sum and parse to string

print(n)

输入:

99999999999

输出:

9