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课程第五天作业的更多相关文章

  1. Python课程笔记 (五)

    今天主要学习图形用户界面,更多的还是要我们自己去实际操作,课仿佛上了一半就完了,分享一下课程(这里在SixthClass)的源码: https://gitee.com/wang_ming_er/pyt ...

  2. Python课程第三天作业

    一.统计⽂件数据中出现的的所有字符与该字符出现的个数(不区分⼤⼩写,标点与空格也算) ⽂件内容: hello friend, can you speak English! # 结果: { 'h': 1 ...

  3. Python课程第四天作业

    1.定义一个函数,该函数可以实现控制台输入,最终返回一个int类型的正整数 def chr_to_int(): user_input = input('请输您要转换的字符串:') if user_in ...

  4. 第五次作业——python效能分析与几个问题(个人作业)

    第五次作业--效能分析与几个问题(个人作业) 前言 阅读了大家对于本课程的目标和规划之后,想必很多同学都跃跃欲试,迫不及待想要提高自身实践能力,那么就从第一个个人项目开始吧,题目要求见下. 阅读 阅读 ...

  5. 17秋 SDN课程 第五次上机作业

    17秋 SDN课程 第五次上机作业 Project:https://github.com/Wasdns/new_balance Slide is available at https://github ...

  6. Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...

  7. Python学习第五堂课

    Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...

  8. C语言基础课第五次作业

    PTA第五次作业 7-2 统计一行文本中的单词个数 一.程序代码 #include<stdio.h> int main(void) { ]; ,word=; char c; gets(st ...

  9. 17秋 软件工程 团队第五次作业 Alpha Scrum1

    题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha Scrum1 各个成员在 Alpha 阶段认领的任务 伟航:督促和监督团队进度,协调组内合作 港晨:APP前端页面编写: ...

随机推荐

  1. java的基础语法(标识符 修饰符 关键字)

    Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...

  2. Map的嵌套 练习

    Map的嵌套   练习 利用迭代和增强for循环的两种方式实现如下效果 package cn.ccc; import java.util.HashMap;import java.util.Iterat ...

  3. CF D.Mister B and Astronomers

    题意概括好麻烦, 好吧既然是英文题面那放一下题意. 题意:有 n 个观察员,第一个观察员在 0 秒开始观察星空,随后第i 个观察员会在第 i − 1 个观察员之后 ai 秒观察,第一个观察员也会在第 ...

  4. PL/SQL连接远程服务器数据库,出现ORA-12154: TNS: 无法解析指定的连接标识符。

    故障环境:上礼拜新装了一台服务器(win server2008r2),并在服务器上安装了ORACLE 11g database.且已经做好监听配置,开通了1521端口. 我又在局域网内另一台pc端装了 ...

  5. 高性能mysql的事物隔离级别

    数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且,在事务的并发操作中可能 ...

  6. C++ Boost库分类总结

    c# 程序员写c++,各种不适应.尤其是被内存操作和几十种字符串类型的转换,简直疯了,大小写转换竟然要手动写代码实现. Boost看介绍不错,也不知道能不能跨平台.过几天要上linux写c++, 也不 ...

  7. Django之 静态模板渲染

    既可以简单的 django.http.HttpResponse 来把内容显示到网页上,也可以使用渲染模板的方法来显示内容. 说明:代码是基于 Django 1.8,但 Django 1.4 - Dja ...

  8. 纪念使用FTPClient工具所遇到的

    我所使用的是org.apache.commons.net.ftp.FTPClient.  查了资料还有其余几个FTPClient,其余的先不展开. 1.ftpClient.changeWorkingD ...

  9. C#中Dispose,finalize,GC,析构函数区别

    释放类所使用的未托管资源的两种方式:  1.利用运行库强制执行的析构函数,但析构函数的执行是不确定的,而且,由于垃圾收集器的工作方式,它会给运行库增加不可接受的系统开销. 2.IDisposable接 ...

  10. java Servlet生成随机验证码

    import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; i ...