黑水母x 发表于 2020-3-30 17:24:02

为什么这样

i = 1
j = 0
while j < 10:
    i =i + (i + 1)
    j += 1
print(j)

为什么打印 j 的时候 j 等于10?
j 不是应该等于9吗

BngThea 发表于 2020-3-30 17:24:03

正因为j等于10才能结束while循环

EDX 发表于 2020-3-30 17:25:53

本帖最后由 EDX 于 2020-3-30 17:28 编辑

当j=9是的时候还会进行一次循环,此时循环后j=10,不满足条件,退出循环

wp231957 发表于 2020-3-30 17:26:18

等于9会退出循环吗??

qiuyouzhi 发表于 2020-3-30 17:36:32

j等于9的时候,不大于10,继续循环
现在j=10,不小于10了,所以退出循环

黑水母x 发表于 2020-3-30 17:37:01

本帖最后由 黑水母x 于 2020-3-30 17:39 编辑

BngThea 发表于 2020-3-30 17:26
正因为j等于10才能结束while循环



不好意思,我问的有问题,我想问的是:
但是我想让他循环10次他循环了11次啊

EDX 发表于 2020-3-30 17:38:40

EDX 发表于 2020-3-30 17:25
当j=9是的时候还会进行一次循环,此时循环后j=10,不满足条件,退出循环

所以循环了10次,j=10,没问题

黑水母x 发表于 2020-3-30 17:41:12

EDX 发表于 2020-3-30 17:38
所以循环了10次,j=10,没问题

我打印 i 他循环十一次是为什么?

EDX 发表于 2020-3-30 17:43:44

黑水母x 发表于 2020-3-30 17:41
我打印 i 他循环十一次是为什么?

你循环后i等于多少

Twilight6 发表于 2020-3-30 17:45:03

当最后一次循环 j = 9   满足 j< 10 条件 继续进入循环
当j+=1j 就等于10了   不满足j<10条件打印j    所以就是10呀

乍惊乍喜 发表于 2020-3-30 17:50:44

本帖最后由 乍惊乍喜 于 2020-3-30 17:51 编辑

黑水母x 发表于 2020-3-30 17:41
我打印 i 他循环十一次是为什么?

我认为你是理解错了,不管打印什么这个就循环了10次,因为你是用的j判断的,而j的初始赋值时0,你可以这个样刊这个循环到底执行多少次,看*****打印多少行
i = 1
j = 0
while j < 10:
    i =i + (i + 1)
    j += 1
    print('*'*10)
print(j)

BngThea 发表于 2020-3-30 17:52:19

黑水母x 发表于 2020-3-30 17:37
不好意思,我问的有问题,我想问的是:
但是我想让他循环10次他循环了11次啊

哪里循环了11次?
j从0 开始,每次加一,一共加几次等于10
页: [1]
查看完整版本: 为什么这样