关于python第四讲课后练习题
temp = input("请输入一个整数:")number = int(temp)
while number:
i = number - 1
while i:
print('',end ='')
i = i-1
j = number
whilej:
print('*',end ='')
j = j - 1
print()
number = number - 1
这道题是怎么说,有点看不懂,求大神讲解 本帖最后由 昨非 于 2020-11-10 22:48 编辑
temp = input('请输入一个整数:') #输入,input返回字符串
number = int(temp) #化为整型,以便使用
while number: #当number不为0时,循环一个number对应一行
i = number - 1
while i: #循环打印i个空格
print(' ', end = '')
i = i - 1
j = number #同一行,循环打印j个*
while j:
print('*', end = '')
j = j - 1
print() #相当于换行 ,对应下一行
number = number - 1
满意的话,记得给个最佳答案
你的代码有个小错误就是: 你的 while i 循环体中的 print 函数打印的是空字符串,而正确的是 print 打印的是一个空格
代码已经修改,解释看注释哈:
temp = input("请输入一个整数:")
number = int(temp)
while number: # while 条件循环,当条件不满足时不进入或退出循环,即 number 为 0 时退出循环
i = number - 1 # 找个临时变量来统计需要打印的空格数,空格数正好等于每行星星数 - 1
while i: # 同上 while 循环解释
print(' ',end ='') # 打印一个空格,end = '' 空字符串表示不换行,所以此时打印的空格都在同一行
i = i-1 # 每次循环 -1 因为一次循环只打印一个空格,则 i 用于限制打印空格数
j = number # 临时变量记录星星数
whilej:
print('*',end ='') # 每次循环打印一个 * ,直到 j == 0 退出循环
j = j - 1
print()
# 上面两个小循环都打印结束后就说明一行的空格和 * 号都打印完成了,加个 print() 用于换行
number = number - 1
上面的代码进行简化,你看看下面的代码会不会更有助于你的理解:
temp = input("请输入一个整数:")
number = int(temp)
while number: # while 条件循环,当条件不满足时不进入或退出循环,即 number 为 0 时退出循环
print(' '*(number-1)+'*'*number) # 空格数正好等于每行星星数 - 1,所以这里空格数成 number - 1 ,而 * 号乘以 number
number = number - 1 # 一行打印结束,准备开始下一行
Twilight6 发表于 2020-11-10 23:09
你的代码有个小错误就是: 你的 while i 循环体中的 print 函数打印的是空字符串,而正确的是 print 打印 ...
简化的代码容易理解多了,但是还有个问题,以后可以直接使用简化代码吗?因为小鱼的太复杂感觉记不下来,我看代码都是靠记。
页:
[1]