|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 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
复制代码
|
|