繁体   English   中英

如何在 Python 中使用可能是数学总和中的字符串的变量?

[英]How can I use a variable that could potentially be a string in a mathematical sum in Python?

这是我当前的代码。 我正在尝试创建一个代码,该代码将采用一个数字n (这里我称之为 nombres)并要求输入“n”个数字。 然后将这些数字相加。 但是,如果输入为负数,程序将要求输入无穷大的数字,直到用户输入“F”而不是另一个数字。 我究竟做错了什么?

nombres = int(input())
somme = 0

if nombres > 0:
    for i in range(nombres):
        while nombres > 0:
            n = int(input())
            nombres = nombres - 1
            somme = somme + n

else:
    if nombres != 'F':
        n = int(input())
        somme = somme + n

print(somme)

为什么这里有嵌套循环

if nombres > 0:
    for i in range(nombres):
        while nombres > 0:
            n = int(input())
            nombres = nombres - 1
            somme = somme + n

for 循环使它运行 n 次,while 循环也是如此,因此您最终会进行 n^2 次迭代。

此外,条件if nombres != 'F':不是您想要的,您想检查第一个之后的输入是否是 F 而不是初始输入。

if nombres > 0:
    for i in range(nombres):
        while nombres > 0:
            n = int(input())
            nombres = nombres - 1
            somme = somme + n

有 2 个嵌套循环,您必须删除其中之一。

if nombres > 0:
    for i in range(nombres):
        n = int(input())
        somme = somme + n

或者

if nombres > 0:
    while nombres > 0:
        n = int(input())
        nombres = nombres - 1
        somme = somme + n

else blck中,代码应该是这样的:

else:
    while True:
        try:
            n = int(input())
        except ValueError:
            break
        else:
            somme = somme + n
        

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM