求助:基础入门学习Python第4课,一个习题,我的方法不同
零基础入门学习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 1. 应该把 number = number -1 放到代码最后面;
2. number = int(temp)+1,+1 纯属多余,可以去掉
3. 应该把 print (' '* (number -1), i) 中的 , 改为 +,不然会多出一个空格。
temp = input('请您输入一个整数:')
number = int(temp)
while number > 0:
i = ('*' * number)
print(' ' * (number - 1) + i)
number = number - 1 jackz007 发表于 2019-11-27 18:22
while (number > 0):
number = number -1 # 最后一次循环 number = 1,而 number = number - 1 = 0 ...
厉害。感谢啦~ zltzlt 发表于 2019-11-27 20:31
1. 应该把 number = number -1 放到代码最后面;
2. number = int(temp)+1,+1 纯属多余,可以去掉
3. 应 ...
非常感谢指点~ 学习到了, 腻害呀
页:
[1]