[英]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.