让我们假设这个系列
1+2+3+....+n
在带有 for 循环 的 c 语言中,我们可以很容易地做到这一点
for(i=1;i<=n;i++)
{
sum += i;
}
在 python 中,我可以使用 while 循环 来完成这个
while(num <= n):
sum += num
num = num+1
但我不能使用 python for 循环来做到这一点
原文由 SHAH MD IMRAN HOSSAIN 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 语法与 c 有点不同。特别是,我们通常使用
range
函数为迭代器变量创建值(这是 Stephen Rauch 的评论中的内容)。range
的第一个参数是起始值,第二个是最终值(不包含),第三个值是步长(默认为1)。如果您只提供一个值(例如range(5)
),则起始值为 0,提供的值为结束值(相当于range(0, 5)
)。这样你就可以做
创建一个 for 循环,其中
i
采用与 c 循环中相同的值。您的代码的完整版本可能是:但是,由于求和是如此常见,因此有一个内置函数
sum
可以为您完成此操作,无需循环。您只需将一个可迭代对象(例如列表、元组…)传递给它,它就会返回所有项目的总和。因此上面的 for 循环等同于更短的请注意,因为
sum
是内置函数的名称,所以您不应将其用作变量名;这就是我在这里使用summation
的原因。因为您可能会发现这对 Python 的发展很有用,所以您可以直接遍历 iterable 的元素也很好。例如,如果我有一个姓名列表并想为每个人打印问候语,我可以使用“传统”方式来实现:
或者以更简洁的“Pythonic”方式: