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
运行结果:
请输入一个整数:5
*****
****
***
**
*
>>>
这个代码我只能看懂前四行,后面就看不懂了。那位大佬帮忙解释下后面的代码吧,真的是看不懂,呜呜呜{:5_100:} temp = input('请输入一个整数:')
number = int(temp)
while number:
i = number - 1
while i: #输出i个空格
print(' ', end = '')
i = i - 1 #输出下行空格数减一
j = number
while j: #输出j个符号 *
print('*', end = '')
j = j - 1 #输出下行符号 *数减一
print()
number = number - 1 你要看看它输出的规律
在程序输入5
1.输出5行
2.每一行都有空格(除了最后一行)和符号
3.符号数量和输出时行数所在行数相等,空格=行数减一
明白这些你也可以试试下倒着输出 本帖最后由 Angelina_Jolie 于 2021-9-7 17:21 编辑
temp = input('请输入一个整数:')#输入的一个字符串
number = int(temp)#把输入的字符串转数字类型 <=> number = int(input(' xxx '))
while number:#调用number数字 当number为0时程序终止
i = number - 1# 给i赋值
while i:#当i为0时程序终止
print(' ', end = '')#表示不换行
i = i - 1#执行一次i的值减一
j = number
while j:
print('*', end = '')
j = j - 1
print()
number = number - 1 我是这样认为的:
temp = input('请输入一个整数:')
number = int(temp)
while number: #当number == 0时,循环A停止 循环A共执行 number 次
i = number - 1 # 每次 循环A 开始时,i的值改变
while i:# 当 i的值为零 时,循环B结束 循环B执行 (number - 1)次
print(' ', end = '')#循环B开始时在第N行打印(number - 1)次
i = i - 1 # i值减一
j = number # 将 number 的值赋给 j
while j:#循环c执行 j 次
print('*', end = '') # 在第N行继续打印
j = j - 1 # j 值减一
print()#换行
number = number - 1 # number 减一
'''
输入的数字就是A循环的次数
每一次A循环的时候,B循环当前 number-1 次
每一次A循环的时候,C循环当前 number 次
每次A循环的结果在同一行,即不同行代表不同的 A循环
第 5 6 7 行为一个小循环
第 9 10 11 行为另一个小循环
'''
你可以把number设置为5然后debug
页:
[1]