提问者:小点点

在python中,在for循环中执行运行时输入,它将打印所有值。 为什么?


我是Python新手。 我已经用运行时输入执行了for循环。 对于loop1:a=int(input(“enter\n”))对于范围(1,a+1)中的i:print(i)

输出打印从1到5的所有值。

For loop2:For i in range(1,5):print(i)输出打印从1到4的值。

请有人解释一下以上两个循环之间的区别。


共3个答案

匿名用户

在python中的range函数中,最后一个参数是排他的。 这意味着它表示范围的停止点,但不包括在输出中。 由于第一个循环有a+1作为最后一个参数,因此输出中将包含a。

匿名用户

您看过https://docs.python.org/fr/3/library/stdtypes.html#范围了吗?

为了简单起见,range(a,b)将返回一个从ab-1的迭代器。

因此,第一个循环将打印1到(a+1)-1=a,第二个循环将打印1到5-1=4。

匿名用户

for i in range(0,5):
    print(i)

打印从0到4的值,因为当迭代到达值5时,它将被排除,并且不会打印该值。

所以我们在最终值(最大值)上加1,打印到我们想要的值。

for i in range(0,6):
     print(i)

给予:

0
1
2
3
4
5