xuhuimingdeyuc 发表于 2017-5-7 21:23:59

004,动动手课后练习

temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1
   

       number = number - 1??
   我要怎么理解这个代码,尝试过去除这句代码后会无限打印。这句代码的作用是不是防止无限打印而已?

ButcherRabbit 发表于 2017-5-7 22:12:05

while number:
    print(i)
    i = i + 1
    number = number - 1
我帮你分析一下这个执行情况:
假设我输入的number =3
while 3: 这个条件为真吧,那么执行while 3:里面的内容:打印i=1, 再把i+1赋值给i,(执行i = i+1,i就变成2);number-1赋值给number,那么number就等于2了

while 2:这个条件为真吧,那么执行while 2:里面的内容:打印i=2, 再把i+1赋值给i,(执行i = i+1,i就变成3);number-1赋值给number,那么number就等于1了

while 1:这个条件为真吧,那么执行while 1:里面的内容:打印i=3, 再把i+1赋值给i,(执行i = i+1,i就变成4);number-1赋值给number,那么number就等于0了

while 0:这个条件为假喽,不执行while 0:里面的内容,跳出while循环

这边有个知识点while的判断条件为真则一直执行while里面的内容,while 0: 或while flase: 则不执行while里面的内容

xuhuimingdeyuc 发表于 2017-5-8 09:00:53

ButcherRabbit 发表于 2017-5-7 22:12
while number:
    print(i)
    i = i + 1


分析得太具体,透彻!给力
谢谢你热心的回复,手机上不能给你最佳答案呢,等我下班上电脑给你评为最佳答案

lumber2388779 发表于 2017-5-8 09:46:19

xuhuimingdeyuc 发表于 2017-5-8 09:00
分析得太具体,透彻!给力
谢谢你热心的回复,手机上不能给你最佳答案呢,等我下班上电脑给你评为最佳答 ...

我帮你给了

xuhuimingdeyuc 发表于 2017-5-8 10:12:06

lumber2388779 发表于 2017-5-8 09:46
我帮你给了

谢了
页: [1]
查看完整版本: 004,动动手课后练习