15909574023 发表于 2020-11-17 21:59:03

循环

本帖最后由 15909574023 于 2020-11-17 22:00 编辑

for i in range(-10):
        print(i)

生成了什么 {:10_243:}

昨非 发表于 2020-11-17 22:02:14

本帖最后由 昨非 于 2020-11-17 22:14 编辑

range(start, stop[, step])
回答有误,请以三楼为准,十分抱歉
推荐菜鸟教程参考链接:
https://www.runoob.com/python/python-func-range.html

Twilight6 发表于 2020-11-17 22:08:26



这样即可:

for i in range(-10,0):
      print(i)

因为 range 函数必须 start <= end的值

当你输入 range(-10) 时,相当于给 end 参数赋值 -10

range 函数start 默认值会为 0 ,而你的 end 值为 -10,就导致报错



昨非 发表于 2020-11-17 22:13:11

Twilight6 发表于 2020-11-17 22:08
这样即可:




谢谢指正

jackz007 发表于 2020-11-17 22:14:00

本帖最后由 jackz007 于 2020-11-17 22:17 编辑

      你得写成这样
for i in range(0 , -10 ,-1):
    print(i)
    range() 的参数为
    range(start , stop , step)
    但是,在使用中,通常是有参数省略的,例如:
    rage(100)
    省略了 start 和 step,对应的完整参数形式应该是:
    rage(0 , 100 , 1)
    可见,如果 range() 只写一个参数,那就是缺省 start = 0,step = 1,那么
    range(-10)
    非省略形式是
    range(0 , -10 , 1)
    显然结果是空的
    正确的写法应该是:
    range(0 , -10 , -1)
   

15909574023 发表于 2020-11-17 22:27:37

懂了,谢谢各位
页: [1]
查看完整版本: 循环