为了账号安全,请及时绑定邮箱和手机立即绑定

关于range()

for x in range(1,9):
    for y in range(0,9):
        if x<y:
            print x*10+y,

for x in range(1,9):
    for y in range(1,10):
        if x<y:
            print x*10+y,

为什么上一种输出会比下面少一个 89?

range() 函数在循环中怎么定义的

正在回答

4 回答

range(0,9)表示 [0,9)   range(1,10)比range(0,9)少了0,多了9   range(a,b)就表示[a,b)

0 回复 有任何疑惑可以回复我~

因为range(i,j)表示i,i+1,...,j-1,不包括j。所以rang(0,9)取不到9.

0 回复 有任何疑惑可以回复我~

上面(0,9)输出的是0~8 ,而下面(1,10)输出的是1~9,因此上面不会输入89 这个数值。 range 输出的方式是 range(x,y) 则输出 x ~(y-1)

0 回复 有任何疑惑可以回复我~

额 看了下range()的定义,发现还是很好懂的,range(0,9)表示大于0小于9的集合,range(1,10)则是大于1小于10的集合 那么range(0,9)下变量y不可能输出9,而在range(1,10)中可以 所以不会出现 89

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

关于range()

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信