鱼C论坛

 找回密码
 立即注册
查看: 4322|回复: 16

帮我分析下我写的到底对不对?

[复制链接]
发表于 2015-8-6 22:48:55 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 零度非安全 于 2015-8-6 22:51 编辑
今天看了鱼哥的python第四讲,我也跟着做了相应的作业,做完后发现我和鱼哥做的差距好大

那个第四讲的课后作业是这样的,用python语言实现

033020k3eoeyvppljjyyp1.png

甲鱼哥给出的答案如下,代码共计13行

  1. temp = input('请输入一个整数:')
  2. number = int(temp)
  3. while number:
  4.     i = number - 1
  5.     while i:
  6.         print(' ', end = '')
  7.         i = i - 1
  8.     j = number
  9.     while j:
  10.         print('*', end = '')
  11.         j = j - 1
  12.     print()
  13.     number = number - 1
复制代码


而我的却是这样子,代码才5行就实现了

  1. temp = input('请输入一个整数:')
  2. number = int(temp)
  3. while number >= 1:
  4.     print(' '*(number-1)+'*'*number)
  5.     number -= 1
复制代码


与甲鱼相比,整整少了8行代码,开始以为我错了,后来发现我不断测试,发现我的代码没出现什么问题

作为新手,还望热心人帮我分析一下

一下是运行截图,在win10操作系统下测试的

QQ截图20150806224138.png

QQ截图20150806224225.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-7 09:10:01 | 显示全部楼层
是的啊,小甲鱼的代码和你的代码其实是一个意思,只是你的更综合,直接把数据处理的过程放在了print里面
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-7 09:54:12 | 显示全部楼层
xiongjingkui 发表于 2015-8-7 09:10
是的啊,小甲鱼的代码和你的代码其实是一个意思,只是你的更综合,直接把数据处理的过程放在了print里面

thank you
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 10:13:46 | 显示全部楼层
额 你都发帖子了啊。。刚才在群里跟你说完 然后才上的鱼c哈哈

评分

参与人数 1荣誉 +30 收起 理由
黑龍 + 30 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-7 10:57:58 | 显示全部楼层
woshidamowang24 发表于 2015-8-7 10:13
额 你都发帖子了啊。。刚才在群里跟你说完 然后才上的鱼c哈哈

额,我昨天晚上10点发的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 11:47:53 | 显示全部楼层
额..学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 12:36:28 | 显示全部楼层
应该没错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 12:56:38 | 显示全部楼层
本帖最后由 黑龍 于 2015-8-7 13:09 编辑
  1. a = input('Hi!Welcome to Python program\nEnter a number:')
  2. c = 0
  3. while a != '':
  4.     print('-' * (int(a) - c - 1) + a * (int(a) - c))
  5.     c = c + 1
  6.     if c >= int(a):
  7.         break
复制代码

我是这么写的 小甲鱼的Python我没看几集 最近在学C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 12:58:42 | 显示全部楼层
最近一直在等着甲鱼兄的C视频
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 16:17:47 | 显示全部楼层
挺好的·~~~~~~~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-7 22:40:08 | 显示全部楼层
别想太多,继续往后看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-8 21:40:13 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-9 15:50:41 | 显示全部楼层
你的代码好简练,利用了“*”。学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-9 16:07:25 | 显示全部楼层
哈哈,新技能,老甲鱼的课后作业参考答案估计要照顾大多数人的理解,所以会用尽量清晰的语法表述吧……多打代码少动脑……他说的……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-9 20:56:21 | 显示全部楼层
很不错哦,代码简单了很多,
只要结果一样,写法有很多种,答案不一定是唯一的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-11 16:40:02 | 显示全部楼层
我觉得,甲鱼哥的程序主要目的不是给出一个打印出目标的程序,而是程序内用到的print()的用法吧。
首先是print()函数每次打印空格或者星号时不再换行,而是以空格继续排列,这是由参数end从默认的'\n'变为‘ ’;
这样改后,为了保证屏幕上打印完第一行的空格和星号后,为了换行,甲鱼哥直接调在循环体末尾给出了print(),起到了换行的作用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-12 00:13:19 | 显示全部楼层
受教了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-17 02:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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