python课后作业004讲改进我们的小游戏
动动手第二题的答案temp = input('请输入一个整数:')
number = int(temp)
while number:
i = number - 1
while i:
print(' ', end = '')
i = i - 1
j = number
while j:
print('*', end = '')
j = j - 1
print()
number = number - 1
while i 不应该只是判断True或False的吗? 那为什么print空格的时候会正好打印7个空格呢?下面的while j 也是,为啥就正好打印8个*呢?
还有就是在判断while i 的时候,第一次为7,然后执行 i= i-1 ,再然后为什么就往下执行 while j 了呢? 不应该再继续回来执行 while i 吗?不是说while 就是一直循环的吗?也没有break,怎么就跳出了while i ,执行 while j 了呢?
最后就是我觉得看完每一讲的视频之后,做课后作业真的困难,感觉课程作业的安排并不适合完全没有任何基础的人。希望各位能够提供一些学习经验,谢谢! 判断里面主要不是 空 或者 0,就为真,否则为假,while i 等价于 while i != 0
执行while i 的时候并没有执行while j ,而是等 i 减到 0 后跳出循环后,再执行的 while j while i 表示的是i不为零的缩写。
只要i不为零,程序就一直循环.
也就是说,只要在i为零的时候,while循环才被打破。
因为不能死循环的缘故,所以每次循环都有i的自减1,直到i为零的时候,循环结束。
下面j也是同理。 白two 发表于 2021-9-21 20:04
判断里面主要不是 空 或者 0,就为真,否则为假,
执行while i 的时候并没有执行while j ,而是等 i 减到...
那如果是等到 i 为零后才跳出循环,为什么只打印7个空格,而不是7+6+5+4+3+2+1个空格呢? heidern0612 发表于 2021-9-21 20:05
while i 表示的是i不为零的缩写。
只要i不为零,程序就一直循环.
你说的这个我懂,我不懂的是为什么 i还没为0 的时候,就执行 while j 了?谢谢 二十又几 发表于 2021-9-21 20:20
你说的这个我懂,我不懂的是为什么 i还没为0 的时候,就执行 while j 了?谢谢
while i:
print(' ', end = '')
i = i - 1
你看哈,每次循环只打印一个空格
循环了 7 次,所以打印 7 个空格 记得有一集讲了0是等于False的,所以在while i 的循环里面,i = 0 = False,循环就退出来了。就继续往下执行 j 的循环。 开卷有益,多多益善···· 白two 发表于 2021-9-21 20:46
你看哈,每次循环只打印一个空格
循环了 7 次,所以打印 7 个空格
懂了,大哥你这么一说 我瞬间茅塞顿开,感谢!感谢! 白two 发表于 2021-9-21 20:46
你看哈,每次循环只打印一个空格
循环了 7 次,所以打印 7 个空格
感谢大哥
页:
[1]