第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
我自己写出来的程序:
temp = input('请输入一个整数:')
n = int(temp)
while n:
while n:
print(' ', end = '')
n = n - 1
while t:
print('*', end = '')
t = t - 1
print()
n= n - 1
为什么打出第一行之后就一直循环打出空格
参考答案中 j = number的作用是什么呢 为什么打出第一行之后就一直循环打出空格
因为你在第二个循环里 ,退出循环的条件就是 n = 0 时候 导致你 大循环最后 n= n - 1= -1
而Python 的数字中 只有 0 为 False , 其他均为 True,所以会无限死循环因为你的 n 每次在大循环都会 - 1 ,永远不等于 0
参考答案中 j = number的作用是什么呢
做个临时替代number的参数,来打印 * 号 ,因为答案的第二个小循环里 循环条件是 j 而且每次循环会 -1 用来打印 * 号
如果你直接用 number 来,会导致和你上题一样 进入死循环,因为退出小循环时候 number = 0,你最后还 - 1
而且这样不符合要求,如果你最后没 -1 就会导致你大循环只循环一次
Twilight6 发表于 2020-6-10 17:31
因为你在第二个循环里 ,退出循环的条件就是 n = 0 时候 导致你 大循环最后 n= n - 1= -1
而Python...
两天80个最佳,这是不是太快了{:10_245:} xiaosi4081 发表于 2020-6-10 17:43
两天80个最佳,这是不是太快了
{:10_245:}不 两天才 40个 Twilight6 发表于 2020-6-10 17:46
不 两天才 40个
40个?!!!!!!!!!!!!{:10_285:} Twilight6 发表于 2020-6-10 17:31
因为你在第二个循环里 ,退出循环的条件就是 n = 0 时候 导致你 大循环最后 n= n - 1= -1
而Python...
{:5_106:}{:5_106:}{:5_106:}很可!!懂了!!感谢大佬!!
页:
[1]