使用for循环添加10个数字

时间:2017-02-24 04:03:01

标签: python loops for-loop

编写一个程序,询问用户10个数字并打印出总数。有了循环的帮助,我需要收集10个值并添加它们。如下例所示:

以下是该程序的示例运行:

Please enter a number: 5
Please enter a number: 2015
Please enter a number: -100
Please enter a number: 3
Please enter a number: -999
Please enter a number: 8
Please enter a number: 67
Please enter a number: 19
Please enter a number: 17
Please enter a number: -1234

The total is -199       
=========================================

以下是我到目前为止所尝试的内容。但是,我不确定如何将for循环收集的所有值相加,因为变量num仅保留循环中的最后一个值

def main():
    for n in range(10):
        num=eval(input("number?"))
        total=num
        print(total)

main()

2 个答案:

答案 0 :(得分:0)

你在那里拥有的非常接近。您希望每次total增加num。您还希望使用int()函数将输入转换为整数。此外,您希望总数最后只打印一次,因此它应该在循环之外。

def main():
    for n in range(10):
        num =int(input("Please enter a number: "))
        total += num

    print("The total is " + total)
    print("=========================================")


main()

答案 1 :(得分:0)

上一个答案确实引发了错误:

UnboundLocalError Traceback(最近一次通话) 在()中 8 9 ---> 10个main()

在main()中 n范围(10)中为2: 3 num = int(input(“请输入数字:”)) ----> 4总数+ =数量 5 6个打印(“总数为“ +总数”

UnboundLocalError:分配前已引用局部变量“总计”

可以使用以下方法轻松解决此问题:

def main():
    total = 0
    for n in range(10):
        num =int(input("Please enter a number: "))
        total += num

    print("The total is ", total)
    print("=========================================")

或者我如何解决最初的问题:

def add(itr):
  total = 0
  for n in range(itr):
    num = float(input("number:"))
    total+= num
    print(total)
add(10)