求和两个输入的范围[python 3]

sum the range of two inputs[python 3]

此脚本将接受两个整数输入。 第一个输入总是比第二个输入 (-)。 脚本将显示每隔一个整数输入的总和。

除操作结果外,脚本不会将任何其他文本打印到控制台。

这是我编写的代码 - 到目前为止我能够接受输入,但它会产生一个无限循环并且不会求和。

谢谢

if __name__ == "__main__":

# user inputs digits
start = int(input())
stop = int(input())

# sum the range of above
while start < stop:
    print(sum for i in range(start, stop, 2))

在你的问题中 start 总是小于 stop,所以 while 循环永远不会退出。相反,您可以保留一个从 start 开始并递增 2 直到达到 stop.

的变量
# user inputs digits
start = int(input())
stop = int(input())

i = start
total = 0
while i < stop:
    total += i
    i += 2

为了简洁起见,这可以简单地用

来完成
total = sum(range(start, stop, 2))

如果你想对范围求和,那么你甚至不需要循环,因为 range 基本上充当你的循环:

# user inputs digits
start = int(input())
stop = int(input())

# sum the range of above
print(sum(range(start, stop, 2)))

你的 start 总是小于 stop 所以循环当然总是 运行s。 如果反过来,它甚至不会 运行 一次。

您在 while 中有一个 for 循环,这也可以避免:

# user inputs digits
start = int(input())
stop = int(input())

# sum the range of above
result = 0
for i in range(start, stop, 2):
    result += i

或者,更好的是,

result = sum(range(start, stop, 2))