第4课作业打印出的*不能顶格
本帖最后由 EasonShan 于 2020-4-6 00:21 编辑第四课作业之一,如下:
temp=input('请输入一个整数:')
a=int(temp)
b=a-1
while a:
print(' '*b,'*'*a)
b=b-1
a=a-1
按这个代码运行后(和小甲鱼的答案略有不同),打印出的*不能顶格,请问问题出在哪。
以下是标准答案:
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
因无法上传作业图片,请各位老哥帮忙审阅! *不能顶格 只有你能才理解的说法。
能把问题描述清楚? 本帖最后由 txxcat 于 2020-4-6 00:24 编辑
因为print在打印多个参数之间会打印一个空格,所以你每行的空格实际上比希望的多了一个,到了最后一行,虽然' '*0不会被打印,但两个元素之间的空格依旧被打印出来了,所以没办法顶格,你可以把代码中的空格改成其他可见的字符就可以看到多的空格了,例如改成'|’,就这样了:
>>> %Run test15.py
请输入一个整数:9
|||||||| *********
||||||| ********
|||||| *******
||||| ******
|||| *****
||| ****
|| ***
| **
*
要顶格可以改成这样:
temp=input('请输入一个整数:')
a=int(temp)
b=a-1
while a:
print(' '*b,end='')
print('*'*a)
b=b-1
a=a-1 ba21 发表于 2020-4-6 00:07
*不能顶格 只有你能才理解的说法。
能把问题描述清楚?
老哥,小甲鱼的标准答案已经编辑进去了,但是因发帖中图片没有上传选项,所以看不到原作业截图啦{:5_100:}。 txxcat 发表于 2020-4-6 00:21
因为print在打印多个参数之间会打印一个空格,所以你每行的空格实际上比希望的多了一个,到了最后一行,虽 ...
老哥稳!连修改的都给出来了{:5_106:} a=input('shuruzhengshu')
a=int(a)
b=a-1
while b>0:
print(' '*b+'*'*a)
b=b-1
a=a-1
else:
print('*'*a)
你把字符串用拼接的方式,这样两个字符串之间就不会有空格了
页:
[1]