首页 > 解决方案 > Python - 使用 if 语句,+ while 条件 | 打印整数,有数字时中断

问题描述

问题: 编写一个程序来接受整数输入,直到用户输入一个非整数。然后,程序打印输入数字的总和。

我的代码:

Total = 0
Count = 0
while True:
    n = input ('Enter integers')

    if (n.isdigit() == True):
        print (n)
    else:
        break
    n = int(n)    
    total = total + n
    count = count + 1
    sum = sum(total)

我可以运行整数,但是在输入数字时它无法中断......有人知道为什么吗?我也期望 sum 函数可以工作,但它不能将我输入的整数加在一起。

谢谢!

标签: pythonif-statement

解决方案


通过将输入过程委托给迭代函数,您将能够直接使用 sum() 函数来获得总数:

def inputIntegers():
    while True:
        result = input("Enter integers: ")
        if not result.isdigit(): break
        yield int(result)

print("total:",sum(inputIntegers()))


Enter integers: 3
Enter integers: 25
Enter integers: 6
Enter integers: 4
Enter integers: 
total: 38

推荐阅读