鱼C论坛

 找回密码
 立即注册
查看: 1989|回复: 2

[已解决]零基础入门学习Python第四课作业

[复制链接]
发表于 2020-10-22 20:10:03 | 显示全部楼层 |阅读模式

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

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

x
零基础入门学习Python 第四讲后作业动手写代码第二题:
题目: 033020k3eoeyvppljjyyp1[1].png

答案为:
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

倒数第二句我自己认为是空格换行的目的,我把这条去掉后,输入整数 3,打印的结果为何是  *** ***,而不是 ***  ** * ? 好像这一句还有其他作用。请大神解释
最佳答案
2020-10-22 20:25:13
本帖最后由 昨非 于 2020-10-22 20:29 编辑

print()确实起到了每打印一行换行的作用
但我们可以注意到,对于单行打印,
控制循环打印空格的数量始终比*的数量少一个
所以比如输入5,打印:
    *****
   ****
  ***
 **
*
可以清晰的看到:
倒数第二行,两个*,前有一个空格
倒数第一行,一个*,前没有空格
所以去掉print()后,最后一行前面没有空格的*就和前面连起来了
    *****   ****  *** ***
[b]四格五星三格四星两格三星一个两星零格一星[/b]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-22 20:15:59 | 显示全部楼层
没问题呀
有换行时输出
  ***
 **
*
之所以没有换行中间有一个空格,是原第二行输出前面有一个空格,而第三行前面没有空格,输出时就和前面的*连在一起了。
  *** ***
11112223
数字是元分行的行号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-22 20:25:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 昨非 于 2020-10-22 20:29 编辑

print()确实起到了每打印一行换行的作用
但我们可以注意到,对于单行打印,
控制循环打印空格的数量始终比*的数量少一个
所以比如输入5,打印:
    *****
   ****
  ***
 **
*
可以清晰的看到:
倒数第二行,两个*,前有一个空格
倒数第一行,一个*,前没有空格
所以去掉print()后,最后一行前面没有空格的*就和前面连起来了
    *****   ****  *** ***
[b]四格五星三格四星两格三星一个两星零格一星[/b]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 00:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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