1. # # 练习:
  2. # # 1. 用map函数求:
  3. # # 1**3 + 2**3 + 3 ** 3 + .... 9**3 的和
  4.  
  5. def add_(x):
  6. return x ** 3
  7.  
  8. print(sum(map(add_, range(1, 10))))
  9.  
  10. # # 2. 用map函数求:
  11. # # 1**4 + 2**4 + 3 ** 4 + .... 20**4 的和
  12.  
  13. def add_(x):
  14. return x ** 4
  15.  
  16. print(sum(map(add_, range(1, 21))))
  17.  
  18. # # 练习:
  19. # # 1. 将 1 ~ 20 的偶数用filter生成可迭代对象后将可迭代对象生成的数放入到列表L中
  20.  
  21. def ous(x):
  22. if x % 2 == 0:
  23. return True
  24.  
  25. L = list(filter(ous, range(1, 20)))
  26. print(L)
  27.  
  28. # # 2. 写一个函数is_prime(x) 判断x是否是素数
  29. # # 用filter函数打印出: 20 ~ 30之间的全部素数
  30.  
  31. def is_prime(x):
  32. for i in range(2, x):
  33. if x % i == 0:
  34. break
  35. return True
  36.  
  37. for x in filter(is_prime, range(20, 30)):
  38. print(x)
  39.  
  40. # # 练习:
  41. # # names = ['Tom', 'Jerry', 'Spike', 'Tyke']
  42. # # 排序的依据为字符串的反序:
  43. # # 'moT' yrreJ ekipS ekyT
  44. # # 结果:
  45. # # ['Spike', 'Tyke', 'Tom', 'Jerry']
  46. names = ['Tom', 'Jerry', 'Spike', 'Tyke']
  47.  
  48. def fz_number(x):
  49. return x[::-1]
  50.  
  51. L = sorted(names, key=fz_number)
  52. print(L)
  53.  
  54. # # 练习:
  55. # # 写函数 mysum(n)用递归方式实现求和
  56. # # def mysum(n):
  57. # # # 用递归方式求和
  58. # # ...
  59. # # print(mysum(100)) # 5050
  60.  
  61. def mysum(x):
  62. if x == 1:
  63. return 1
  64. return x + mysum(x - 1)
  65.  
  66. print(mysum(100))
  67.  
  68. # # 练习:
  69. # # 1. 已知五位朋友在一起
  70. # # 第五位朋友比第四位朋友大2岁
  71. # # 第四位朋友比第三位朋友大2岁
  72. # # 第三位朋友比第二位朋友大2岁
  73. # # 第二位朋友比第一位朋友大2岁
  74. # # 第一位朋友说它10岁
  75. # # 写程序打印出第五位朋友 和第三位朋友 的年龄
  76.  
  77. def age_2(x):
  78. if x == 1:
  79. return 10
  80. return 2 + age_2(x - 1)
  81.  
  82. print(age_2(3))
  83. print(age_2(5))
  84.  
  85. # #   2. 已知有列表:
  86. # # L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]
  87. # # 1) 写一个函数print_list(lst) 打印出所有元素
  88. # # print(L) # 打印 3 5 8 10 13 14 ....
  89. # L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]
  90.  
  91. def print_list(lst):
  92. for x in lst:
  93. if type(x) != list:
  94. print(x)
  95. else:
  96. print_list(x)
  97.  
  98. print_list(L)
  99.  
  100. # # 2) 写一个函数sum_list(lst) 返回这个列表中所有元素的和
  101. # # print(sum_list(L)) # 86
  102. # # 注:
  103. # # type(x) 可以返回一个变量的类型
  104. # # 如:
  105. # # >>> type(20) is int # True
  106. # # >>> type([1, 2, 3]) is list # True
  107. L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]
  108.  
  109. def sum_list(lst):
  110. s = 0
  111. for x in lst:
  112. if type(x) is list:
  113. s += sum_list(x)
  114. else:
  115. s += x
  116. return s
  117.  
  118. print(sum_list(L))
  119.  
  120. # 练习:
  121. # 1. 输入一个圆的半径,打印出这个圆的面积
  122. # 2. 输入一个圆的面积,打印出这个圆的半径
  123. # (要求用math模块内的函数和数据实现)
  124.  
  125. import math
  126. r = float(input("please inout R:"))
  127. s = math.pi * r ** 2
  128. print("面积是:", s)
  129.  
  130. s = float(input("please inout S:"))
  131. math.sqrt(s / 2)
  132. print(r)
  133.  
  134. # 练习:
  135. # 写一个程序,输入你的出生日期,
  136. # 1) 算出你已经出生多少天?
  137. # # 2) 算出你出生的那天是星期几?
  138.  
  139. import time
  140.  
  141. year = int(input("please input:"))
  142. month = int(input("please input:"))
  143. day = int(input("please input:"))
  144. tuple_birth = (year, month, day, 0, 0, 0, 0, 0, 0)
  145. x = time.mktime(tuple_birth)
  146. t = time.time()
  147. second = t - x
  148. print("您已经出生", second / 60 / 60 // 24, '天')
  149. t = time.localtime(x)
  150. weeks = {
  151. 0: "星期一",
  152. 1: "星期二",
  153. 2: "星期三",
  154. 3: "星期四",
  155. 4: "星期五",
  156. 5: "星期六",
  157. 6: "星期日"
  158. }
  159.  
  160. print("您出生的那天是:", weeks[t[6]])
  161.  
  162. # 练习:
  163. # 1. 请编写函数fun 其功能是计算下列多项式的和:
  164. # fn = 1 + 1/1! + 1/2! + 1/3! + 1/4! + .. + 1/n!
  165. # (建义用数学模块的factorial实现)
  166. # 求当n 等于100时,fn的值
  167. # 看一下fn(100)的值是什么
  168. import math
  169.  
  170. def fun(n):
  171. if n == 0:
  172. return 1
  173. return 1 / math.factorial(n) + fun(n - 1)
  174.  
  175. print(fun(100)) # 2.71828
  176.  
  177. # 2. 写一个程序,以电子时钟格式:
  178. # HH:MM:SS格式显示时间
  179. # 要求每隔一秒变化一次
  180.  
  181. # 3 写函数f(n)求下多项式的和
  182. # fn = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 .... 1/(2*n-1)的和
  183. # 求当n取值为1000000时,
  184. # 1) 打印 f(1000000) 的值
  185. # 2) 打印 f(1000000) * 4的值,看看是什么
  186.  
  187. # 练习:
  188. # 1. 猜数字游戏
  189. # 随机生成一个 0~100之间的一个整数,用变量x绑定
  190. # 让用户输入一个数y,输出猜数字的结果:
  191. # 1) 如果y大于x则提示: "您猜大了"
  192. # 2) 如果y小于x则提示: "您猜小了"
  193. # 3) 如果y等于生成的数x,则提供示用户"恭喜您猜对了 "并退出猜数字
  194. # 循环重复上述步聚,直到猜对为止。
  195. # 猜对了,显示用户猜数字的次数,然后退出程序
  196.  
  197. # 练习:
  198. # 1. 写一个闹钟程序,启动时设置定时时间,
  199. # 到时间后打印一句"时间到...." 然后退出程序
  200.  
  201. # 2. 模拟斗地主发牌,扑克牌共54张
  202. # 黑桃('\u2660'), 梅花('\u2663'), 方块('\u2665'), 红桃('\u2666')
  203. # A2-10JQK
  204. # 大王、小王
  205. # 三个人玩,每人发17张牌,底牌留三张
  206. # 输入回车, 打印出第1个人的17张牌
  207. # 输入回车, 打印出第2个人的17张牌
  208. # 输入回车, 打印出第3个人的17张牌
  209. # 输入回车, 打印三张底牌
  210. # 3. 修改学生信息管理程序,将原student_info.py 拆分为模块
  211. # 要求:
  212. # 1. 主事件循环放在main.py中
  213. # 2. show_menu 函数放在menu.py中
  214. # 3. 与学生操作相关的函数放在 student_info.py中
  215. # 练习:
  216. # 写一个函数 get_score() 来获取学生成绩,
  217. # 要求用户输入 1~100的整数,输果输入出现异常,返此函数返回0,
  218. # 否则返回用户输入的成绩
  219. # 示例:
  220. # def get_score():
  221. # ...
  222. # score = get_score()
  223. # print("学生的成绩是:", score)
  224.  
  225. # 练习:
  226. # 写一个函数 get_age()用来获取一个人的年龄信息
  227. # 此函数规定用户只能输入1~140之间的整数,如果用户输入其它的数则直接触发ValueError类型的错误通知
  228. # 如果用户输入的年龄大于140,则触发
  229. # ValueError("年龄超出了正常值")
  230. # 如果用户输入的年龄小于1,则触发
  231. # ValueError("年龄太小...")
  232. # def get_age():
  233. # ...
  234. # try:
  235. # age = get_age()
  236. # print("用户输入的年龄是:", age)
  237. # except ValueError as err:
  238. # print('用户输入的不是1~140的整数,获取年龄失败')
  239. # print("原因是:", err)
  240.  
  241. # 练习:
  242. # 1. 一个球从100米高空落下,每次落地后反弹高度是原高度的一半,再落下,
  243. # 1) 写程序算出皮球在第10次落地后反弹高度是多高?
  244. # 2) 打印出球共经过多少米的路程
  245.  
  246. # 2. 分解质因数, 输入一个正整数,分解质因数,
  247. # 如:
  248. # 输入: 90
  249. # 则打印:
  250. # '90=2*3*3*5'
  251. # (质因数是指最小能被原数整除的素数(不包括1))
  252. # 练习:
  253. # 有一个集合:
  254. # s = {'唐僧', '悟空', '八戒', '沙僧'}
  255. # 用 for语句来遍历所有元素如下:
  256. # for x in s:
  257. # print(x)
  258. # else:
  259. # print('遍历结束')
  260. # 请将上面的for语句改写为 用while语句和迭代器实现
  261. # 练习:
  262. # 写一个生成器函数 myeven(start, stop)
  263. # 此函数用来生成从 start开始到stop结束(不包含)区间内的一系列偶数
  264. # def myeven(start, stop):
  265. # ....
  266.  
  267. # evens = list(myeven(10, 20))
  268. # print(evens) # [10, 12, 14, 16, 18]
  269. # for x in myeven(21, 30):
  270. # print(x) # 22, 24, 26, 28
  271.  
  272. # L = [x**2 for x in myeven(3, 10)]
  273. # print(L) # 16 36 64
  274. # 练习:
  275. # 已知有一个列表L
  276. # L = [2, 3, 5, 7]
  277. # 用生成器表达式从此列表中拿到数,生成 列表中数据的平方
  278.  
  279. # gen = ...... # 此处用生成器表达式实现
  280. # L2 = list(gen) # L2 = [4, 9, 25, 49]
  281.  
  282. # 思考:
  283. # L = [2, 3, 5, 7]
  284. # L2 = [x ** 2 for x in L] # 列表推导式
  285. # it = iter(L2)
  286. # print(next(it)) # 4
  287. # L[1] = 10
  288. # print(next(it)) # 9
  289.  
  290. # 练习:
  291. # 写一个程序,读入任意行的文字,当输入空行时结束输入
  292. # 打印带有行号的输入结果:
  293. # 如:
  294. # 请输入: hello<回车>
  295. # 请输入: world<回车>
  296. # 请输入: tarena<回车>
  297. # 请输入: <回车> # 直接回车结束输入
  298. # 输出如下:
  299. # 第1行: hello
  300. # 第2行: world
  301. # 第3行: tarena
  302.  
  303. # 练习:
  304. # 写一个程序,从键盘输入一段字符串存入s变量
  305. # 1. 将此字符串转为字节串用变量b绑定,并打印出b
  306. # 2. 打印字符串s的长度和字节串b的长度
  307. # 3. 将b字节串再转换为字符串用变量s2 绑定,判断 s2 和 s是否相同?
  308.  
  309. # 练习:
  310. # 1. 写一个生成器函数primes生成素数,
  311. # 此生成器函数为 primes(begin, end)
  312. # 如: [x for x in primes(10, 20)] 将得到列表
  313. # [11, 13, 17, 19]
  314. # 2. 写一个生成器函数,生成斐波那契数列的前n个数
  315. # 1 1 2 3 5 8 13
  316. # def fibonacci(n):
  317. # ...
  318. # yield...
  319. # 1) 输出前20个数:
  320. # for x in fibonacci(20):
  321. # print(x)
  322. # 2) 打印前40个数的和:
  323. # print(sum(fibonacci(40)))
  324. # 3. 写程序打印杨辉三角(只打印6层)
  325. #
  326. # 1 1
  327. # 1 2 1
  328. # 1 3 3 1
  329. # 1 4 6 4 1
  330. # 1 5 10 10 5 1

Python全栈工程师(exercises)的更多相关文章

  1. Python全栈工程师(装饰器、模块)

    ParisGabriel                每天坚持手写  一天一篇  决定坚持几年 全栈工程师     Python人工智能从入门到精通 装饰器 decorators(专业提高篇) 装饰 ...

  2. Python全栈工程师(递归函数、闭包)

    ParisGabriel            每天坚持手写  一天一篇  决定坚持几年 全栈工程师     Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细 ...

  3. 【目录】python全栈工程师

    第一阶段:Python 语言核心编程1. Python核心   -- 2048 游戏核心算法2. 面向对象   -- 天龙八部游戏技能系统3. Python高级   -- 集成操作框架项目:2048游 ...

  4. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(1) - ES6标准入门和Flex布局

    1.简述 1.什么是ES6?ES6, 全称 ECMAScript 6.0,是 JavaScript 的下一个版本标准,2015年6月份发版.ES6的主要目的是为了解决 ES5 的先天不足. 2.了解E ...

  5. Python全栈工程师 (exercises)

    # 1:给定一个数,判断他是正数,负数,还是0 a = int(input("请输入一该个整数")) if a == 0: print(a, "是0") eli ...

  6. Python全栈工程师(Python3 所有基础内容 0-0)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     Python一个月的基础语法 基本就到这咯    接下来是数据 ...

  7. Python全栈工程师(包、模块 的导入)

    ParisGabriel                每天坚持手写  一天一篇  决定坚持几年 为了梦想 为了信仰     Python人工智能从入门到精通 $ pip3 install tenso ...

  8. Python全栈工程师(Python3 所有基础内容 0-0)

    转发:https://www.cnblogs.com/ParisGabriel/p/9388030.html statements  语句print   输出quit()  退出exit() 退出ct ...

  9. Python全栈工程师(每周总结:3)

     ParisGabriel                                                           每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死 ...

随机推荐

  1. 2017.9.16 Web 应用开发环境搭建与开发工具安装

    1.JDK的下载与安装 1.1 在网址:http://javase/downloads/index.jsp网站下载最新的JDK版本 1.2 安装jdk,双击下载好的.exe文件运行,一般默认安装在c盘 ...

  2. EF中 实现延迟加载 lazyload

    1.创建数据库 2.利用数据库 生成视图 生成2个实体类 和一个model1类 3.写代码 (1) 创建 上下文对象 (2) (3)查询结果 注释: 延迟加载的原因,因为我们操作数据库不会那么简单, ...

  3. Python中的__name__和__main__含义详解

    1背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main():     ......   if __name == "__m ...

  4. CentOS6.5 配置IP的两种方式

    1.dhcp动态获取ip 编辑配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 ,配置如下: [root@localhost ~]# vi /etc/sys ...

  5. input的placeholder的颜色、字号、边距设置

    #scbar_txt::-webkit-input-placeholder { /* WebKit browsers */    text-indent: 10px; font-size:16px; ...

  6. util.Date与sql.Date转换

    一. 时间类型 1.  sql包下, Date:只有年月日. Time:只有时分秒. Timestamp:表示时间戳,有年月日时分秒,以及毫秒. 2.  util包下, Date是sql包下三种时间类 ...

  7. 前端之HTML和CSS

    html概述及html文档基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制 ...

  8. dts--tests(二)

    rxtx_callbacks.py """ DPDK Test suite. Test Rxtx_Callbacks. """ import ...

  9. Google Compute Engine VM自动调节

    现象:利用google云搭建VM服务,在搭建实例组有一个"自动调节"功能,可以自动添加/删除MV,当自动添加VM时可能新添加的VM就是一个新的VM,你部署的代码或者环境都没了.现在 ...

  10. Linux平台下安装MySQL

    1.下载RPM包 http://dev.mysql.com/downloads/mysql/5.5.html#downloads 选择[Red Hat & Oracle Enterprise ...