Python中计算1到100之和的代码为什么会出错?
sum = 0 for x in range(101): sum = sum + x print(sum)
报错说 invalid syntax 如果将 print 缩进, 则是将每次和都返回, 不是我想要的结果。 所以请问怎么只返回 5050
Python中计算1到100之和的代码为什么会出错?
你给的代码没贴出来,我猜可能是循环或缩进出错了。下面这个是最基础的写法,肯定能跑:
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
。。。唉 垃圾 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 是哪来的?


