Python中计算1到100之和的代码为什么会出错?

sum = 0 for x in range(101): sum = sum + x print(sum)

报错说 invalid syntax 如果将 print 缩进, 则是将每次和都返回, 不是我想要的结果。 所以请问怎么只返回 5050


Python中计算1到100之和的代码为什么会出错?
27 回复

你给的代码没贴出来,我猜可能是循环或缩进出错了。下面这个是最基础的写法,肯定能跑:

total = 0
for i in range(1, 101):
    total += i
print(total)  # 输出5050

或者用sum函数更简单:

result = sum(range(1, 101))
print(result)  # 输出5050

常见错误有:range写成(1,100)会少加100、忘记初始化total变量、循环内缩进不对。直接拿上面任一段代码去用就行。

总结:用sum(range(1, 101))最稳。

我这边可以哦

缩进的区别

![]( )

![]( )

print(sum([x for x in range(101)]))

我这里也可以

我多此一举了。。。

膜拜 6 楼

新加了图片

第二种情况会报错, 请看新加的图片

你在交互式界面输入循环判断之类的 block, 最后要留个空行, 让解释器知道 for block 结束了. 然后再输入后面的 print 语句.

高斯说 print(5050)

#12
clang 说:
printf(“5050”);

这是什么字体?

omg,clang 的优化做到如此地步了?!


C++ 委员会: 我们要 constexpr
clang 开发者: 哔了狗了

clang 开发者: 行行行,现在能 const 的都 const 啦

先运行前两行(循环和加)外加一个空行,然后再 print
另外 number 是什么鬼(

在解释器里面运行的话循环结束之后需要先打一个 enter,然后再输入循环外语句

gcc -O4 发给 Jeff Dean 用机器码重写

用的 atom 吗,请教怎么配置 python3

17 楼说的对 解释器中 循环体结束后 才能继续敲语句 (双击回车,再 print )

。。。唉 垃圾 python 用个 REPL 也要注意空格。。

from functools import reduce

sum = reduce(lambda a,b: a + b, range(100))

sum(range(1,101))

因为没有用游标卡尺



11 楼说的对,留空行




Atom 编辑器,
主题 one dark, atom 自带的,终端我用这个 https://github.com/nathanbuchar/atom-one-dark-terminal
字体 Source Code Pro-Light 13 , https://github.com/adobe-fonts/source-code-pro




是 atom
直接写的,没啥特别配置 😂

你新加的那个图…
for x in number(range(101)) 里面这 number 是哪来的?

回到顶部