|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
零基础入门学习Python,第四课练习中,有一条道题,关于 8个*的联系。
我的答案如下,看上去和小甲鱼的结果很相似,行数比他少哦(自鸣得意中。。。),但是好像最后一个 * 的位置偏右了一个格子,且下方多了一个空行。请问为什么?
百思不得其解~
菜鸟问题,请帮助!
temp = input('请您输入一个整数:')
number = int(temp)+1
while (number > 0):
number = number -1
i = ('*' * number)
print (' '* (number -1), i)
本帖最后由 jackz007 于 2019-11-27 18:31 编辑
while (number > 0):
number = number -1 # 最后一次循环 number = 1,而 number = number - 1 = 0,这就是出现最后那个空行的原因。
print (' '* (number -1), i) # print() 被逗号隔开的 ' '* (number -1) 和 i 是两个参数,print() 会在打印完第一个参数后,输出一个空格,然后才打印第二个参数,这样的话,'*' 前面的空格就会多出 1 个,这个问题楼主有考虑吗?
这样写代码岂不是更简洁
- number = int(input('请您输入一个整数:') . strip())
- while (number > 0):
- print(' ' * (number - 1) + '*' * number)
- number = number - 1
复制代码
|
|