TypeError:' int'对象不可迭代(新的初学者)

时间:2017-01-06 12:38:21

标签: python python-2.x

这是我的任务: 要求用户输入其名称,只有某个名称能够触发循环。 在输入正确的数字之前打印出用户尝试的次数。 添加一个条件语句,该语句将导致用户退出程序,而不会在输入某个输入时给出输入的数字的平均值

numbers = []
number = 0

count = 0
total = 0
name = 0

while number >= 0:
    number = int(raw_input("Please enter any number: \n"))
    if number == -1:
        break
    numbers.append(number)

avg = float(sum(numbers)) / len(numbers)
print "The average of the numbers you entered is " + str(avg) + "!"

while name >= 0:
    name = int(raw_input("Please enter the number of characters your name contains: \n"))
    count += 1
    total += count
    if name == 6:
        break

tries = sum(total)
print tries

2 个答案:

答案 0 :(得分:0)

tries = sum(total) ... sum采用可迭代,而总数为int因此错误。

答案 1 :(得分:0)

如果总计= [] 并且您可以将计数值附加到总数中。

所以total.append(count)

会创建列表,然后您可以使用总和(总计)

但是在这里你可以简单地使用打印总数或计数都是相同的。

numbers = []
number = 0

count = 0
total = 0
name = 0

while number >= 0:
    number = int(raw_input("Please enter any number: \n"))
    if number == -1:
        break
    numbers.append(number)

avg = float(sum(numbers)) / len(numbers)
print "The average of the numbers you entered is " + str(avg) + "!"

while name >= 0:
    name = int(raw_input("Please enter the number of characters your name contains: \n"))
    count += 1
    total += count
    if name == 6:
        break

tries = total
print tries

并尝试减少代码。