博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python全栈工程师(exercises)
阅读量:6231 次
发布时间:2019-06-21

本文共 6426 字,大约阅读时间需要 21 分钟。

# # 练习:# #   1. 用map函数求:# #     1**3 + 2**3 + 3 ** 3 + .... 9**3 的和def add_(x):    return x ** 3print(sum(map(add_, range(1, 10))))# #   2. 用map函数求:# #     1**4 + 2**4 + 3 ** 4 + .... 20**4 的和def add_(x):    return x ** 4print(sum(map(add_, range(1, 21))))# # 练习:# #   1. 将 1 ~ 20 的偶数用filter生成可迭代对象后将可迭代对象生成的数放入到列表L中def ous(x):    if x % 2 == 0:        return TrueL = 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 Truefor 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))  # 5050def 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 # TrueL = [[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 sprint(sum_list(L))#          练习:#   1. 输入一个圆的半径,打印出这个圆的面积#   2. 输入一个圆的面积,打印出这个圆的半径 #   (要求用math模块内的函数和数据实现)import mathr = float(input("please inout R:"))s = math.pi * r ** 2print("面积是:", s)s = float(input("please inout S:"))math.sqrt(s / 2)print(r)#  练习:#   写一个程序,输入你的出生日期,#     1) 算出你已经出生多少天?# #     2) 算出你出生的那天是星期几?import timeyear = 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)的值是什么import mathdef 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# 1 2 1# 1 3 3 1# 1 4 6 4 1# 1 5 10 10 5 1

 

转载地址:http://ilxna.baihongyu.com/

你可能感兴趣的文章
zt:华为手机的梦想:不破苹果终不还
查看>>
jzoj5990. 【北大2019冬令营模拟2019.1.6】Bear (状压dp)
查看>>
在CentOS上安装Python3的三种方法
查看>>
[PKUWC2018]随机算法
查看>>
《大话设计模式》读书笔记-第25章 中介者模式
查看>>
spring mvc-@CookieValue注解
查看>>
vue-router跳转到相同路由但页面没刷新
查看>>
2 .1 .6 软件要求
查看>>
断言函数
查看>>
oracle11gr2 netca 无法启动 报错
查看>>
【图】二分图最大权匹配
查看>>
mt19937 -- 高质量随机数
查看>>
随时修改添加,thinkphp小知识
查看>>
[BZOJ3625]小朋友和二叉树
查看>>
[CF919E]Congruence Equation
查看>>
Eclipse中绑定java源代码
查看>>
Hadoop学习笔记(1):WordCount程序的实现与总结
查看>>
Java IO最详解
查看>>
概率论 --- Uva 11181 Probability|Given
查看>>
nginx配置允许指定域名下所有二级域名跨域请求
查看>>