# # 练习:
# # 1. 用map函数求:
# # 1**3 + 2**3 + 3 ** 3 + .... 9**3 的和 def add_(x):
return x ** 3 print(sum(map(add_, range(1, 10)))) # # 2. 用map函数求:
# # 1**4 + 2**4 + 3 ** 4 + .... 20**4 的和 def add_(x):
return x ** 4 print(sum(map(add_, range(1, 21)))) # # 练习:
# # 1. 将 1 ~ 20 的偶数用filter生成可迭代对象后将可迭代对象生成的数放入到列表L中 def ous(x):
if x % 2 == 0:
return True L = list(filter(ous, range(1, 20)))
print(L) # # 2. 写一个函数is_prime(x) 判断x是否是素数
# # 用filter函数打印出: 20 ~ 30之间的全部素数 def is_prime(x):
for i in range(2, x):
if x % i == 0:
break
return True for x in filter(is_prime, range(20, 30)):
print(x) # # 练习:
# # names = ['Tom', 'Jerry', 'Spike', 'Tyke']
# # 排序的依据为字符串的反序:
# # 'moT' yrreJ ekipS ekyT
# # 结果:
# # ['Spike', 'Tyke', 'Tom', 'Jerry']
names = ['Tom', 'Jerry', 'Spike', 'Tyke'] def fz_number(x):
return x[::-1] L = sorted(names, key=fz_number)
print(L) # # 练习:
# # 写函数 mysum(n)用递归方式实现求和
# # def mysum(n):
# # # 用递归方式求和
# # ...
# # print(mysum(100)) # 5050 def mysum(x):
if x == 1:
return 1
return x + mysum(x - 1) print(mysum(100)) # # 练习:
# # 1. 已知五位朋友在一起
# # 第五位朋友比第四位朋友大2岁
# # 第四位朋友比第三位朋友大2岁
# # 第三位朋友比第二位朋友大2岁
# # 第二位朋友比第一位朋友大2岁
# # 第一位朋友说它10岁
# # 写程序打印出第五位朋友 和第三位朋友 的年龄 def age_2(x):
if x == 1:
return 10
return 2 + age_2(x - 1) print(age_2(3))
print(age_2(5)) # #   2. 已知有列表:
# # L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20]
# # 1) 写一个函数print_list(lst) 打印出所有元素
# # print(L) # 打印 3 5 8 10 13 14 ....
# L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20] def print_list(lst):
for x in lst:
if type(x) != list:
print(x)
else:
print_list(x) print_list(L) # # 2) 写一个函数sum_list(lst) 返回这个列表中所有元素的和
# # print(sum_list(L)) # 86
# # 注:
# # type(x) 可以返回一个变量的类型
# # 如:
# # >>> type(20) is int # True
# # >>> type([1, 2, 3]) is list # True
L = [[3, 5, 8], 10, [[13, 14], 15, 18], 20] def sum_list(lst):
s = 0
for x in lst:
if type(x) is list:
s += sum_list(x)
else:
s += x
return s print(sum_list(L)) # 练习:
# 1. 输入一个圆的半径,打印出这个圆的面积
# 2. 输入一个圆的面积,打印出这个圆的半径
# (要求用math模块内的函数和数据实现) import math
r = float(input("please inout R:"))
s = math.pi * r ** 2
print("面积是:", s) s = float(input("please inout S:"))
math.sqrt(s / 2)
print(r) # 练习:
# 写一个程序,输入你的出生日期,
# 1) 算出你已经出生多少天?
# # 2) 算出你出生的那天是星期几? import time year = int(input("please input:"))
month = int(input("please input:"))
day = int(input("please input:"))
tuple_birth = (year, month, day, 0, 0, 0, 0, 0, 0)
x = time.mktime(tuple_birth)
t = time.time()
second = t - x
print("您已经出生", second / 60 / 60 // 24, '天')
t = time.localtime(x)
weeks = {
0: "星期一",
1: "星期二",
2: "星期三",
3: "星期四",
4: "星期五",
5: "星期六",
6: "星期日"
} print("您出生的那天是:", weeks[t[6]]) # 练习:
# 1. 请编写函数fun 其功能是计算下列多项式的和:
# fn = 1 + 1/1! + 1/2! + 1/3! + 1/4! + .. + 1/n!
# (建义用数学模块的factorial实现)
# 求当n 等于100时,fn的值
# 看一下fn(100)的值是什么
import math def fun(n):
if n == 0:
return 1
return 1 / math.factorial(n) + fun(n - 1) print(fun(100)) # 2.71828 # 2. 写一个程序,以电子时钟格式:
# HH:MM:SS格式显示时间
# 要求每隔一秒变化一次 # 3 写函数f(n)求下多项式的和
# fn = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 .... 1/(2*n-1)的和
# 求当n取值为1000000时,
# 1) 打印 f(1000000) 的值
# 2) 打印 f(1000000) * 4的值,看看是什么 # 练习:
# 1. 猜数字游戏
# 随机生成一个 0~100之间的一个整数,用变量x绑定
# 让用户输入一个数y,输出猜数字的结果:
# 1) 如果y大于x则提示: "您猜大了"
# 2) 如果y小于x则提示: "您猜小了"
# 3) 如果y等于生成的数x,则提供示用户"恭喜您猜对了 "并退出猜数字
# 循环重复上述步聚,直到猜对为止。
# 猜对了,显示用户猜数字的次数,然后退出程序 # 练习:
# 1. 写一个闹钟程序,启动时设置定时时间,
# 到时间后打印一句"时间到...." 然后退出程序 # 2. 模拟斗地主发牌,扑克牌共54张
# 黑桃('\u2660'), 梅花('\u2663'), 方块('\u2665'), 红桃('\u2666')
# A2-10JQK
# 大王、小王
# 三个人玩,每人发17张牌,底牌留三张
# 输入回车, 打印出第1个人的17张牌
# 输入回车, 打印出第2个人的17张牌
# 输入回车, 打印出第3个人的17张牌
# 输入回车, 打印三张底牌
# 3. 修改学生信息管理程序,将原student_info.py 拆分为模块
# 要求:
# 1. 主事件循环放在main.py中
# 2. show_menu 函数放在menu.py中
# 3. 与学生操作相关的函数放在 student_info.py中
# 练习:
# 写一个函数 get_score() 来获取学生成绩,
# 要求用户输入 1~100的整数,输果输入出现异常,返此函数返回0,
# 否则返回用户输入的成绩
# 示例:
# def get_score():
# ...
# score = get_score()
# print("学生的成绩是:", score) # 练习:
# 写一个函数 get_age()用来获取一个人的年龄信息
# 此函数规定用户只能输入1~140之间的整数,如果用户输入其它的数则直接触发ValueError类型的错误通知
# 如果用户输入的年龄大于140,则触发
# ValueError("年龄超出了正常值")
# 如果用户输入的年龄小于1,则触发
# ValueError("年龄太小...")
# def get_age():
# ...
# try:
# age = get_age()
# print("用户输入的年龄是:", age)
# except ValueError as err:
# print('用户输入的不是1~140的整数,获取年龄失败')
# print("原因是:", err) # 练习:
# 1. 一个球从100米高空落下,每次落地后反弹高度是原高度的一半,再落下,
# 1) 写程序算出皮球在第10次落地后反弹高度是多高?
# 2) 打印出球共经过多少米的路程 # 2. 分解质因数, 输入一个正整数,分解质因数,
# 如:
# 输入: 90
# 则打印:
# '90=2*3*3*5'
# (质因数是指最小能被原数整除的素数(不包括1))
# 练习:
# 有一个集合:
# s = {'唐僧', '悟空', '八戒', '沙僧'}
# 用 for语句来遍历所有元素如下:
# for x in s:
# print(x)
# else:
# print('遍历结束')
# 请将上面的for语句改写为 用while语句和迭代器实现
# 练习:
# 写一个生成器函数 myeven(start, stop)
# 此函数用来生成从 start开始到stop结束(不包含)区间内的一系列偶数
# def myeven(start, stop):
# .... # evens = list(myeven(10, 20))
# print(evens) # [10, 12, 14, 16, 18]
# for x in myeven(21, 30):
# print(x) # 22, 24, 26, 28 # L = [x**2 for x in myeven(3, 10)]
# print(L) # 16 36 64
# 练习:
# 已知有一个列表L
# L = [2, 3, 5, 7]
# 用生成器表达式从此列表中拿到数,生成 列表中数据的平方 # gen = ...... # 此处用生成器表达式实现
# L2 = list(gen) # L2 = [4, 9, 25, 49] # 思考:
# L = [2, 3, 5, 7]
# L2 = [x ** 2 for x in L] # 列表推导式
# it = iter(L2)
# print(next(it)) # 4
# L[1] = 10
# print(next(it)) # 9 # 练习:
# 写一个程序,读入任意行的文字,当输入空行时结束输入
# 打印带有行号的输入结果:
# 如:
# 请输入: hello<回车>
# 请输入: world<回车>
# 请输入: tarena<回车>
# 请输入: <回车> # 直接回车结束输入
# 输出如下:
# 第1行: hello
# 第2行: world
# 第3行: tarena # 练习:
# 写一个程序,从键盘输入一段字符串存入s变量
# 1. 将此字符串转为字节串用变量b绑定,并打印出b
# 2. 打印字符串s的长度和字节串b的长度
# 3. 将b字节串再转换为字符串用变量s2 绑定,判断 s2 和 s是否相同? # 练习:
# 1. 写一个生成器函数primes生成素数,
# 此生成器函数为 primes(begin, end)
# 如: [x for x in primes(10, 20)] 将得到列表
# [11, 13, 17, 19]
# 2. 写一个生成器函数,生成斐波那契数列的前n个数
# 1 1 2 3 5 8 13
# def fibonacci(n):
# ...
# yield...
# 1) 输出前20个数:
# for x in fibonacci(20):
# print(x)
# 2) 打印前40个数的和:
# print(sum(fibonacci(40)))
# 3. 写程序打印杨辉三角(只打印6层)
#
# 1 1
# 1 2 1
# 1 3 3 1
# 1 4 6 4 1
# 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. UML总结:UML用于建模描述结构和行为

    UML有3种基本的构造块:组件.关系和图 我们将 UML 中的图分为两大类: 结构图 行为图 (1)结构建模: 结构建模具有捕捉静态的功能,包括下列各项: 类图 对象图 组件图 部署图 结构模型代表的 ...

  2. 进程管理—进程描述符(task_struct)

    http://blog.csdn.net/qq_26768741/article/details/54348586 当把一个程序加载到内存当中,此时,这个时候就有了进程,关于进程,有一个相关的叫做进程 ...

  3. 计算多项式Poj(1996)

    题目链接:http://poj.org/problem?id=1996 思路: 刚开始打了个二维表,调了一个小时,爆内存了. #include <stdio.h> #include < ...

  4. Feature分支

    软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合 ...

  5. CSS 负边距读后感

    最近看到一篇讲解CSS 负边距的文章: http://segmentfault.com/a/1190000003750411?utm_source=Weibo&utm_medium=share ...

  6. javascript原生API总结

    一.查找: getElementById() 方法返回带有指定 ID 的元素(唯一): getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组). ...

  7. C# while语句

    一.C# while语句 while语句是用于重复执行程序代码的语句. 语法格式如下: while(boolean-expression){    embedded-statement} 当boole ...

  8. 2018/7/16 YMOI模拟 NOIP2013D2T3华容道

    题目描述 Description 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. ...

  9. 【模板时间】◆模板·III◆ 单调子序列

    ◆模板·III◆ 单调子序列 以前只知道DP用 O(n2) 的做法,现在才发现求单调子序列方法好多…… ◇ 模板简述 单调子序列包括 升序/降序/非升序/非降序 子序列.主要题型如下: ①在原串中找到 ...

  10. shell脚本结构化语句

    本文中记录一下shell中的两种循环语句:for和while for循环 for循环是linux shell中最常用的结构,for循环有三种结构:1.列表for循环.2.不带列表for循环.3.C风格 ...