2014-10-02 101 views
-4

我无法弄清楚为什么我得到一个无限循环?我无法弄清楚为什么我得到一个无限循环在Python

下面的代码:

# 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) 
+1

你没有得到无限循环,但你的代码根本就没有做它应该。 – Maroun 2014-10-02 09:13:01

+0

你总结添加是在循环之外,但必须在 – nouseforname 2014-10-02 09:14:25

+0

你怎么决定什么范围总结?你的家庭作业有3个范围。 – JonB 2014-10-02 09:25:39

回答

0

你得到循环错误。

这里的1到10之间的相加数的Python的方式:

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

编辑:根据@bereal和@ l4mpi评论

下面是实现同样的少Python的方式:

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

为什么不只是'sum(range(1,11))'? – bereal 2014-10-02 09:20:03

+1

甚至总和(范围(11)) - '0'并不重要。 – l4mpi 2014-10-02 09:20:53

+0

@ l4mpi对!给他提一下'20-37'和'35-89'的提示。 – RaphDG 2014-10-02 09:24:12

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) 
+0

您不应该覆盖内置的['sum'](https://docs.python.org/3/library/functions.html#sum)。 – Matthias 2014-10-02 09:29:03

+0

@Matthias你是对的。编辑 – nouseforname 2014-10-02 10:02:13

相关问题