【问题标题】:I am unable to figure out why I am getting an infinite loop in Python我无法弄清楚为什么我在 Python 中出现无限循环
【发布时间】:2014-10-02 09:10:48
【问题描述】:

我无法弄清楚为什么会出现无限循环??

代码如下:

# LAB  -   FIND SUM OF NUMBERS   1-10,  20-37,  35-89
sum = 0
i = 0
sum += i
for i in range(1,11):
    print('sum from 1-10 is ' ,sum)

【问题讨论】:

  • 你没有得到无限循环,但你的代码根本没有做它应该做的事情。
  • 你的加法在循环之外,但必须在循环内
  • 您如何决定求和的范围?您的家庭作业有 3 个范围。

标签: python loops for-loop infinite-loop


【解决方案1】:

这会做你想做的事:

mysum = 0 
for i in range(1,11):
    mysum += i

print('sum from 1-10 is ' ,mysum)

也可以:

mysum = sum(range(11))
print('sum from 1-10 is ' , mysum)

【讨论】:

  • 你不应该覆盖 sum 内置的。
【解决方案2】:

你弄错了循环。

这是一种在 1 到 10 之间求和的 Pythonic 方法:

sum(range(11))
sum(range(20,38))
sum(range(35,90))

已编辑:根据@bereal 和@l4mpi cmets

这是实现相同目的的一种不那么 Python 的方式:

mysum = 0
for i in range(1,11):
    mysum += i
print mysum

【讨论】:

  • 为什么不只是sum(range(1, 11))
  • 或者甚至 sum(range(11)) - 0 与总和无关。
  • @l4mpi 对!只是提示他20-3735-89
猜你喜欢
  • 1970-01-01
  • 2014-01-08
  • 2019-09-15
  • 2023-02-11
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
  • 2016-11-04
  • 2021-08-30
相关资源
最近更新 更多