|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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 循环体中的 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 # 临时变量记录星星数
- while j:
- 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 # 一行打印结束,准备开始下一行
复制代码
|
|