我目前正在教一些相当年轻的学生一些python编程。我想让他们学习的一件事是如何编写for循环。
到目前为止,我向学生展示的方式是这样的:
for i in range(1,11):
print(i)
它给出了一个循环
i
从1到10。
我的问题是学生们觉得奇怪的是他们需要写11作为第二个论点
range(1,11)
当他们希望循环上升到10。学生们觉得这很混乱。
在C/C++和相关语言中,这样的循环可以这样写成:
for(int i = 1; i <= 10; i++)
{ /* do something */ }
在我看来,c++表示循环的方式更直观,因为在这种情况下,我可以显式地编写1和10,这是我希望循环变量采用的第一个和最后一个值。
在python中使用for循环时,我会告诉学生
“我们只需接受,当我们希望循环变为10时,需要写11,这有点烦人,但您只需了解range函数的工作方式”
. 我对此不高兴;我希望他们知道编程很有趣,我担心这种事情会让编程变得不那么有趣。
由于python经常被描述为一种强调可读性的语言,我怀疑有一种更好的方式来表示for循环,这种方式可以减少我的学生的困惑。
在python语言中,是否有更好和/或更少混乱的方式来表示这种for循环?