python全栈工程师证书_Python全栈工程师(exercises)

## 练习:## 1. 用map函数求:## 1**3 + 2**3 + 3 ** 3 + .... 9**3 的和

defadd_(x):return x ** 3

print(sum(map(add_, range(1, 10))))## 2. 用map函数求:## 1**4 + 2**4 + 3 ** 4 + .... 20**4 的和

defadd_(x):return x ** 4

print(sum(map(add_, range(1, 21))))## 练习:## 1. 将 1 ~ 20 的偶数用filter生成可迭代对象后将可迭代对象生成的数放入到列表L中

defous(x):if x % 2 ==0:returnTrue

L= list(filter(ous, range(1, 20)))print(L)## 2. 写一个函数is_prime(x) 判断x是否是素数## 用filter函数打印出: 20 ~ 30之间的全部素数

defis_prime(x):for i in range(2, x):if x % i ==0:break

returnTruefor 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']deffz_number(x):return x[::-1]

L= sorted(names, key=fz_number)print(L)## 练习:## 写函数 mysum(n)用递归方式实现求和## def mysum(n):## # 用递归方式求和## ...## print(mysum(100)) # 5050

defmysum(x):if x == 1:return 1

return x + mysum(x - 1)print(mysum(100))## 练习:## 1. 已知五位朋友在一起## 第五位朋友比第四位朋友大2岁## 第四位朋友比第三位朋友大2岁## 第三位朋友比第二位朋友大2岁## 第二位朋友比第一位朋友大2岁## 第一位朋友说它10岁## 写程序打印出第五位朋友 和第三位朋友 的年龄

defage_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]

defprint_list(lst):for x inlst: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]defsum_list(lst):

s=0for x inlst:if type(x) islist:

s+=sum_list(x)else:

s+=xreturnsprint(sum_list(L))#练习:#1. 输入一个圆的半径,打印出这个圆的面积#2. 输入一个圆的面积,打印出这个圆的半径#(要求用math模块内的函数和数据实现)

importmath

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) 算出你出生的那天是星期几?

importtime

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 -xprint("您已经出生", 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)的值是什么

importmathdeffun(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#1 2 1#1 3 3 1#1 4 6 4 1#1 5 10 10 5 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值