鱼C论坛

 找回密码
 立即注册
查看: 1505|回复: 2

[已解决]求教python入门

[复制链接]
发表于 2017-9-13 13:40:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yeqian25 于 2017-9-13 14:05 编辑

在做第四讲第2题时
如下:
temp = input("put in a int number:")
num = int(temp)
a = num
b = num

while num:
    while a:
        print(" ", end = "")
        a = a - 1
    while b:
        print("*", end = "")
        b = b - 1
    print()
    num = num - 1
我把
a = num
b = num

放到第一个while外面定义就只能打印出1行,而像答案那样调整的分别的while前就没问题,这怎么解释,是逻辑结构的问题吗,自己没想明白,都是定义,while外和里有什么区别吗
最佳答案
2017-9-13 21:38:12
a = num
b = num
while num:
    while a:
         ......
    while b:
         .....
这样放a和b,当a 跳出while a 的循环的时候,a是不是等于0,同理b也等于0才会跳出while b的循环(循环里有a = a-1   b = b-1)然后num = num-1 ,假设输入的num=3,  那么打印完第一行,num=2,a=b=0你理解吧,由于num=2,那么还是只想while num 里的语句,但这时候 a=b=0 没有被重新赋值了,所以while a和while b 的条件不成立喽,不执行里面的语句,只执行print()和num = num-1.....

while num:
a=num
b=num
当num执行完一次循环的时候,ab又会被重新赋值,继续执行while a 和while b 里面的语句。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-9-13 21:38:12 | 显示全部楼层    本楼为最佳答案   
a = num
b = num
while num:
    while a:
         ......
    while b:
         .....
这样放a和b,当a 跳出while a 的循环的时候,a是不是等于0,同理b也等于0才会跳出while b的循环(循环里有a = a-1   b = b-1)然后num = num-1 ,假设输入的num=3,  那么打印完第一行,num=2,a=b=0你理解吧,由于num=2,那么还是只想while num 里的语句,但这时候 a=b=0 没有被重新赋值了,所以while a和while b 的条件不成立喽,不执行里面的语句,只执行print()和num = num-1.....

while num:
a=num
b=num
当num执行完一次循环的时候,ab又会被重新赋值,继续执行while a 和while b 里面的语句。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-13 22:18:53 | 显示全部楼层
ButcherRabbit 发表于 2017-9-13 21:38
a = num
b = num
while num:

理解了,感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-2 09:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表