长不小的大人 发表于 2020-5-16 15:55:49

while循环语句输出结果问题

i = 0
while i < 7:
    print(i)
    i += 1

输出的结果为:
0
1
2
3
4
5
6

——————————————————————————问题1:这个print(i)输出的结果为啥不同?第二个输出结果中为何没有0?

i = 0
while i < 7:
    i += 1
    print(i)

输入结果为
1
2
3
4
5
6
7

————————————问题2:这个continue在此处是说当i=3的时候继续执行下面代码,不是应该直接打印输出i么?还是说继续执行上面的条件,知道等于7为止??如果换成break,输出结果就变成1,2,为啥子结果中没有0?

i = 0
while i < 7:
i += 1
if i == 3:
    continue
print(i)
输入结果为
1
2
3
4
5
6
7

——————————————问题3:break退出程序,那后面的“i += 1”是否还执行呢?这个怎么解读呢?
i = 0
while i < 7:
print(i)
if i == 3:
    break
i += 1

输出结果为:
0
1
2
3

综上所述,以上代码的白话文的解释是怎么一个逻辑执行呢?

jkluoling1992 发表于 2020-5-16 15:57:55

{:10_299:}

Twilight6 发表于 2020-5-16 16:01:48


问题一:
第一个代码:

i = 0      # 这边i=0
while i < 7:
    print(i) # 因为上面 i = 0 所以打印0
    i += 1 # 打印完了 才+1
第二个代码:
i = 0    # i = 0
while i < 7:
    i += 1# 这边 i + 1 = 1
    print(i)# 因为 i = 1所以 打印 1
————————————————————————————————————————————————————
问题二:
continue 的作用是终止本次循环,开始下次循环 并不是继续执行下面代码 是重新开始循环
————————————————————————————————————————————————————
问题三:
break 是直接退出循环 , 不像continue 它会继续循环,而break 直接退出这个循环结构了

qiuyouzhi 发表于 2020-5-16 16:01:50

1,i本来是0,你先打印i,就会打印0
但你如果先让i+1变成1,就会打印1。
2,和1一样,但是不会打印3
你那个输出结果让我很疑惑
3,break后就是退出循环,就不会继续执行i+=1和打印什么的了
页: [1]
查看完整版本: while循环语句输出结果问题