Python课程第五天作业
1、利用字典推导式和列表推导式完成数据的相互转化:
- dic = {'name': 'Owen', 'age': 18, 'gender': '男'}
- ls = [('name', 'Owen'), ('age', 18), ('gender', '男')]
- dic=[(k,v) for k,v in dic.items()]
- ls={k: v for k, v in ls}
2、用生成器实现可以无限取值的生成器对象,第一次取值得到1,第二次取值得到3,第三次取值得到6,第四次取值得到10,依次类推
- def fn2():
- total = 0
- count = 1
- while True:
- total += count
- yield total
- count += 1
- obj = fn2()
- print(obj.__next__())
- print(obj.__next__())
- print(obj.__next__())
- print(obj.__next__())
3、利用递归完成斐波那契数列案例:1、1、2、3、5、8、13、21初始1只兔子,1个月成熟,次月往后每月可以生出1只,每只兔子成熟后都具有繁殖能力,问一年半后一共有多少只兔子
- def func(depth,k1,k2):
- if depth > 18:
- return k1
- k3=k1+k2
- res=func(depth+1,k2,k3)
- return res
- ret=func(1,0,1)
- print(ret)
4、利用map函数完成成绩映射 [58, 78, 98] => ['不通过', '通过', '通过'] 用到匿名函数,匿名函数的返回值用三元运算符处理
- a=map(lambda x: str(x) + '通过' if x > 60 else str(x) + '不通过' ,[58, 78, 98])
- for i in a:
- print(i)
5、利用reduce求[58, 78, 98]的总成绩
- from functools import reduce
- res=reduce(lambda a,b: a + b, [58, 78, 98])
- print(res)
6、打印数字128的二进制、八进制、十六进制数
- print(bin(128))
- print(oct(128))
- print(hex(128))
7、解决第7题求总成绩还可以用什么内置函数,输出13的7次幂的结果用什么内置函数,判断一个变量是否是函数对象的内置函数,原义字符串的内置函数
- print(sum([58, 78, 98]))
- print(pow(13,7))
- callable(func)
8.写出for迭代器迭代字符串、列表、元组、集合、字典(三种情况)的代码实现
- # Pyhon列表
- list_a = [, , , , , , , , , ]
- # Pyhon元组
- tuple_a = (, , , , , , , , , )
- # Python字典
- dict_a = {'a': , 'b': , 'c': }
- # 可迭代对象的父类
- from collections import Iterable
- # 判断列表、元组、字典是否是可迭代对象
- print(isinstance(list_a, Iterable),
- isinstance(tuple_a, Iterable),
- isinstance(dict_a, Iterable))
- # 迭代列表
- for i in list_a:
- print(i)
- # 迭代列表,顺带获得索引了
- for i, v in enumerate(list_a):
- print(i, v)
- # 迭代字典中的值
- for value in dict_a.values():
- print(value)
- # 迭代字典中的键和值
- for k, v in dict_a.items():
- print(k, v)
- # 迭代由元组作为元素组成的列表
- for x, y in [(, ), (, ), (, )]:
- print(x, y)
9、用生成器完成自定义的my_range方法,可以实现和range类似的功能:
- my_range(5) => 能迭代出0,1,2,3,4
- my_range(5, 10) => 能迭代出5,6,7,8,9
- my_range(5, 10,2) => 能迭代出5,7,9
- my_range(10, 5, -2) => 能迭代出10, 8, 6
- my_range(10, 5) => 没结果
- my_range(5, 10, -1) => 没结果
代码:
- def my_range(start,end=,step=):
- count=
- if end == and step == :
- while count < start:
- yield count
- count +=
- elif (end > and end > start) and step == :
- while start < end:
- yield start
- start +=
- elif (end > and end > start) and step > :
- while start < end:
- yield start
- start += step
- elif (end > and end < start) and step < :
- while end < start:
- yield start
- start += step
- elif (end > and end < start) and step > :
- pass
- elif (end > and end > start) and step < :
- pass
- for i in my_range(,,-):
- print(i)
Python课程第五天作业的更多相关文章
- Python课程笔记 (五)
今天主要学习图形用户界面,更多的还是要我们自己去实际操作,课仿佛上了一半就完了,分享一下课程(这里在SixthClass)的源码: https://gitee.com/wang_ming_er/pyt ...
- Python课程第三天作业
一.统计⽂件数据中出现的的所有字符与该字符出现的个数(不区分⼤⼩写,标点与空格也算) ⽂件内容: hello friend, can you speak English! # 结果: { 'h': 1 ...
- Python课程第四天作业
1.定义一个函数,该函数可以实现控制台输入,最终返回一个int类型的正整数 def chr_to_int(): user_input = input('请输您要转换的字符串:') if user_in ...
- 第五次作业——python效能分析与几个问题(个人作业)
第五次作业--效能分析与几个问题(个人作业) 前言 阅读了大家对于本课程的目标和规划之后,想必很多同学都跃跃欲试,迫不及待想要提高自身实践能力,那么就从第一个个人项目开始吧,题目要求见下. 阅读 阅读 ...
- 17秋 SDN课程 第五次上机作业
17秋 SDN课程 第五次上机作业 Project:https://github.com/Wasdns/new_balance Slide is available at https://github ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
- Python学习第五堂课
Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...
- C语言基础课第五次作业
PTA第五次作业 7-2 统计一行文本中的单词个数 一.程序代码 #include<stdio.h> int main(void) { ]; ,word=; char c; gets(st ...
- 17秋 软件工程 团队第五次作业 Alpha Scrum1
题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha Scrum1 各个成员在 Alpha 阶段认领的任务 伟航:督促和监督团队进度,协调组内合作 港晨:APP前端页面编写: ...
随机推荐
- ExcelUploadUtil
package com.rscode.credits.util; import java.io.File; import java.io.FileInputStream; import java.io ...
- FileUrl
package com.rscode.credits.util; import java.io.BufferedReader; import java.io.File; import java.io. ...
- useradd和groupadd(Linux创建用户\用户组\设置\分配用户权限\多用户远程登录权限)的使用
前言: man useradd man groupadd info useradd info groupadd 都可以获取相关命令的用法信息. 个人比较喜欢读英文解释文档,没有你想象的那么comp ...
- penn treebank的说明,包括很多语法知识
penn数据库说明 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.8216&rep=rep1&type=pdf
- 1(2)IO流---字节流
一.分类 字节流(不适用于文本) InputStream OutputStream 字符流 Reader Writer 二.字节流 1.概述 InputStream 字节输入流,是被读的,抽 ...
- 软件测试_Fiddler抓包工具一
多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...
- PX转REM简易计算器(适用于fittext.js插件计算)
当你使用fittext.js插件时,通过量取的像素单位PX计算出REM单位值,是一件比较麻烦而繁琐的,为了提高工作效率,自己闲暇写了个小DEMO,现在给大家分享出来. 先看dom: <heade ...
- HTML相关内容
一,HTML标签的分类 1,单标签和双标签 2,内联标签:span,b,u,i,a,img 块级标签:h1~h6,p,div,hr,ul,ol,li 二,常用标签 1,head内常用标签 标签 含 ...
- (转)python中函数参数中如果带有默认参数list的特殊情况
在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]): for i in range(x): ...
- 高性能mysql的事物隔离级别
数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且,在事务的并发操作中可能 ...