鱼C论坛

 找回密码
 立即注册
查看: 2574|回复: 6

[已解决]求助:基础入门学习Python第4课,一个习题,我的方法不同

[复制链接]
发表于 2019-11-27 17:27:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
零基础入门学习Python,第四课练习中,有一条道题,关于 8个*的联系。

我的答案如下,看上去和小甲鱼的结果很相似,行数比他少哦(自鸣得意中。。。),但是好像最后一个 * 的位置偏右了一个格子,且下方多了一个空行。请问为什么?

百思不得其解~

菜鸟问题,请帮助!

temp = input('请您输入一个整数:')
number = int(temp)+1
while (number > 0):
    number = number -1
    i = ('*' * number)
    print (' '* (number -1), i)
最佳答案
2019-11-27 18:22:52
本帖最后由 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-27 18:22:52 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-27 20:31:54 | 显示全部楼层
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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-28 08:47:51 | 显示全部楼层
jackz007 发表于 2019-11-27 18:22
while (number > 0):
    number = number -1   # 最后一次循环 number = 1,而 number = number - 1 = 0 ...

厉害。感谢啦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-28 08:48:36 | 显示全部楼层
zltzlt 发表于 2019-11-27 20:31
1. 应该把 number = number -1 放到代码最后面;
2. number = int(temp)+1,+1 纯属多余,可以去掉
3. 应 ...

非常感谢指点~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-28 22:37:36 From FishC Mobile | 显示全部楼层
学习到了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-3 21:19:20 | 显示全部楼层
腻害呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 18:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表