鱼C论坛

 找回密码
 立即注册
查看: 2242|回复: 9

Python第四节课后题动动手题目解答逻辑

[复制链接]
发表于 2016-9-15 10:05:04 | 显示全部楼层 |阅读模式

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

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

x
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

答案大体能看明白,但是我想问,这个思考答案的过程是怎样的?如何能够想到用那些函数?如何能够想到用什么循环?这中间的想到和想不到,到底差着什么?这应该是一个初学者的疑惑吧!希望有大神可以解惑!!万分感谢!

题目

题目

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-15 10:47:34 | 显示全部楼层
为什么只有人看,没有人回答呢?刚才一不小心,点了已解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-15 10:59:45 | 显示全部楼层
1.当有规律的并多次重复的就可以用循环来简化程序。比如本题打印n行,每行的空格和*的数量依次减少。
2.函数,这里只用到了3个函数。首先是输入函数input,每次运行程序由用户来输入行数。根据题意需要打印输出,所以用到了print函数,其次input得到的是字符串,为了后面的计算还需用int函数转换为整数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-15 11:15:14 | 显示全部楼层
temp = input('请输入一个整数:')
number = int(temp)
while number:
    print(' '*(number-1),end='')
    print('*'*number)
    number -=1
这样也行 ,两种方法 ,那种好?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 14:47:09 | 显示全部楼层
冬雪雪冬 发表于 2016-9-15 10:59
1.当有规律的并多次重复的就可以用循环来简化程序。比如本题打印n行,每行的空格和*的数量依次减少。
2.函 ...

感谢您的回复,看来需要了解每种函数、循环的特性,通过不断练习或使用,掌握其应用的情景,才知道什么时候才会用到,类似英语的学习过程,先记住单词、词组,再记住语法,再记住语句,常见表达,然后才能写文章。其实编程的过程,类似于写文章,都是用这个语言体系内的设定来表述某个目的,只不过,编程最终结果是软件程序,写文章是表达了某种观点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 14:54:14 | 显示全部楼层
六道土豆 发表于 2016-9-15 11:15
temp = input('请输入一个整数:')
number = int(temp)
while number:

试过你的代码了,通了。
要说区别,我感觉你的代码是把空和*在一起表达了,而我的代码则是分别开讨论;当然,你的代码更简洁。
谢谢支持!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-15 14:58:49 | 显示全部楼层
六道土豆 发表于 2016-9-15 11:15
temp = input('请输入一个整数:')
number = int(temp)
while number:

好像有点不对,你代码的空格和*的位置好像不太对。你看看截图,不知道是不是我哪里敲错了?
循环截图.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-18 09:24:03 | 显示全部楼层
人zai旅途 发表于 2016-9-15 14:58
好像有点不对,你代码的空格和*的位置好像不太对。你看看截图,不知道是不是我哪里敲错了?

print(' '*(number-1),end=''),print中的两个单引号要敲空格符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-18 19:36:02 | 显示全部楼层
六道土豆 发表于 2016-9-18 09:24
print(' '*(number-1),end=''),print中的两个单引号要敲空格符

第二个单引号不用空格,否则就多出一个空格了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-4 21:54:22 | 显示全部楼层
end=“ ”不是换行的意思吧,请教是什么意思?
>>> print("*",end="?")
*?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 13:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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