鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 三万行者

[已解决]0基础第六讲课后习题动手0题和2题

[复制链接]
发表于 2016-10-21 14:46:08 | 显示全部楼层
我把题目2用另一种思路再写一个程序。
  1. from math import gcd
  2. from functools import reduce
  3. i = reduce(lambda x, y: x * y //gcd(x, y), [2, 3, 5, 6])
  4. result = i
  5. while True:
  6.     if (result - 1) % 7 == 0:
  7.         print(result - 1)
  8.         break
  9.     result += i
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-21 18:22:44 | 显示全部楼层
同样收货了!收获。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-21 20:09:06 | 显示全部楼层
这个0:的问题是  用/除的出来的结果是float类型 不能用你写的那种方法判断 得用求余
2:你用地板除来判断 这个完全没意义啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-21 23:26:45 | 显示全部楼层
我想知道你第一题的是在Python2版本还是Python3版本,若是Python2版本就应该输出99--1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 16:54:05 | 显示全部楼层
kox 发表于 2016-10-21 20:09
这个0:的问题是  用/除的出来的结果是float类型 不能用你写的那种方法判断 得用求余
2:你用地板除来判断 ...

是的,回答第二个问题的时候都蒙圈了。。。    后来一看,差到姥姥家去了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 16:54:48 | 显示全部楼层
悲伤诉说微笑 发表于 2016-10-21 23:26
我想知道你第一题的是在Python2版本还是Python3版本,若是Python2版本就应该输出99--1

用的是Python3.  因为课程用的是这个版本,觉得这样学起来会少很多麻烦。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 16:55:20 | 显示全部楼层
xinshouxuexi 发表于 2016-10-21 18:22
同样收货了!收获。。。

共同进步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 16:59:40 | 显示全部楼层
冬雪雪冬 发表于 2016-10-21 14:46
我把题目2用另一种思路再写一个程序。

这个是调用了 gcd和reduce函数吗?  还是调用了functools函数。
这几个都还没有见过,暂时表示不明觉厉
然而用Python3运行出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-22 17:05:51 | 显示全部楼层
三万行者 发表于 2016-10-22 16:59
这个是调用了 gcd和reduce函数吗?  还是调用了functools函数。
这几个都还没有见过,暂时表示不明觉厉{ ...

从math模块调用gcd函数
从functools模块调用reduce函数
我也是python3可以运行,你把你的出错信息发上来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 17:11:53 | 显示全部楼层
冬雪雪冬 发表于 2016-10-22 17:05
从math模块调用gcd函数
从functools模块调用reduce函数
我也是python3可以运行,你把你的出错信息发上 ...

Traceback (most recent call last):
  File "D:/Python33/新建文件夹/de2.py", line 1, in <module>
    from math import gcd
ImportError: cannot import name gcd

是因为我下载的版本中没有math这个模块吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-22 17:17:38 | 显示全部楼层
三万行者 发表于 2016-10-22 17:11
Traceback (most recent call last):
  File "D:/Python33/新建文件夹/de2.py", line 1, in
    from  ...

math模块应该是自带的。
你先:import math
看看是否能导入这个模块。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-22 17:24:02 | 显示全部楼层
三万行者 发表于 2016-10-22 17:11
Traceback (most recent call last):
  File "D:/Python33/新建文件夹/de2.py", line 1, in
    from  ...

如果无法导入math
可以自己写gcd函数。整个程序改为:
  1. def gcd(n1,n2):
  2.     if(n1%n2 == 0):
  3.         return n2
  4.     return gcd(n2,n1%n2)

  5. from functools import reduce
  6. i = reduce(lambda x, y: x * y //gcd(x, y), [2, 3, 5, 6])
  7. result = i
  8. while True:
  9.     if (result - 1) % 7 == 0:
  10.         print(result - 1)
  11.         break
  12.     result += i
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 17:37:31 | 显示全部楼层
冬雪雪冬 发表于 2016-10-22 17:24
如果无法导入math
可以自己写gcd函数。整个程序改为:

自己写出gcd的函数后,这段代码能够运行,并且输出结果119。

这些模块可不可以理解成是由用户自己以Python为基础,定义的一些常用函数包呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-22 17:43:51 | 显示全部楼层
三万行者 发表于 2016-10-22 17:37
自己写出gcd的函数后,这段代码能够运行,并且输出结果119。

这些模块可不可以理解成是由用户自己以Py ...

可以这么理解(除了函数,还有类(class)等)。python自身就带有不少的模块,还有许多第三方的模块,这使得python的功能变得非常强大,并使编程变得非常简单。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-22 18:09:19 | 显示全部楼层
冬雪雪冬 发表于 2016-10-22 17:43
可以这么理解(除了函数,还有类(class)等)。python自身就带有不少的模块,还有许多第三方的模块,这 ...

SOGA。还要继续学习!!!!
多谢 多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 06:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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