Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建从1到10求和的循环_Python_List_Loops_Sum - Fatal编程技术网

Python 创建从1到10求和的循环

Python 创建从1到10求和的循环,python,list,loops,sum,Python,List,Loops,Sum,作为Python的初学者,我正在尝试创建一个从1到10的循环。我试着使用我在数学课上学到的公式,即“n*(n+1)/2”,但我得到了一个缩进错误。我已经创建了一个“for…in…”循环,并尝试将打印功能放在外部(而不是使用选项卡)。如果有人能告诉我这个错误,我将不胜感激。提前谢谢 my_list = [1,2,3,4,5,6,7,8,9,10] for a in my_list: print(a * (a+1) / 2) 错误消息: print(a * (a+1) / 2) ^ Inde

作为Python的初学者,我正在尝试创建一个从1到10的循环。我试着使用我在数学课上学到的公式,即“n*(n+1)/2”,但我得到了一个缩进错误。我已经创建了一个“for…in…”循环,并尝试将打印功能放在外部(而不是使用选项卡)。如果有人能告诉我这个错误,我将不胜感激。提前谢谢

my_list = [1,2,3,4,5,6,7,8,9,10]

for a in my_list:
print(a * (a+1) / 2)
错误消息:

print(a * (a+1) / 2)

^

IndentationError: expected an indented block

在Python中,代码缩进非常重要

在您的示例中,只有缩进的内容将在
for
循环下运行

因此,你应该:

my_list = [1,2,3,4,5,6,7,8,9,10]

for a in my_list:
    print(a * (a+1) / 2)
以避免错误

但这仍然不会产生你所期望的结果,因为这是一个概念上的错误

您不希望在那里有for循环,相反,您需要的是最后一个元素

这可以通过
[-1]
索引实现。看一看,它应该可以帮助您理解python索引

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a = my_list[-1]

print(a * (a + 1) / 2)
现在,如果您想通过手动迭代列表来再次检查,那么您还必须包括这一点。最终的代码可能如下所示:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

sum = 0

for a in my_list:
    sum = sum + a

n = my_list[-1]

print(sum)
print(n * (n + 1) / 2)
或者,我们也可以使用
+=
运算符,该运算符将变量的值增加所需的量,而不必在右侧使用它,这样
sum=sum+a
变成
sum+=a
,最终达到:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

sum = 0

for a in my_list:
    sum += a

n = my_list[-1]

print(sum)
print(n * (n + 1) / 2)

在中,您没有{}(大括号)。因此,您必须使用tab.

并尝试将打印函数放在外部-为什么?的
必须包含一些内容(缩进在它下面)。如果您要使用
n
数字和公式,您只需缩进打印语句,那么为什么要使用列表?只需将
a=10
Python不使用大括号代替缩进就可以得到答案。您也不需要使用tab(可以说,您应该使用空格)。非常感谢您快速而详细的回复。我了解每一种选择,但需要一些时间来适应:)
my_list = [1,2,3,4,5,6,7,8,9,10]
sum=0
for a in my_list:
    sum+=a
print(a * (a+1) / 2)