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. python 8

    一.文件操作初识 1. path 文件路径 F:\文件.txt encoding 编码方式 utf-8, gbk ... mode 操作方式 只读,只写,读写,写读,追加... f1 = open(r ...

  2. 编译原理作业(第一次)-完成retinf.c(阉割版)

    首先,作业要求概括如下: 根据前缀表达式文法,实现statements() 和expression() 两个函数. 并且要求使得语义分析在完成分析前缀表达式并输出中间代码的同时,也能够将前缀表达式翻译 ...

  3. 疯狂java讲义 第八章课后题

    1.创建一个Set集合,并用Set集合保存用户通过控制台输入的字符串. import java.util.HashSet; import java.util.Scanner; public class ...

  4. ENSP模拟华为USG6000

  5. 【java高级编程】JDK和CGLIB动态代理区别

    转载:https://blog.csdn.net/yhl_jxy/article/details/80635012 前言 JDK动态代理实现原理(jdk8):https://blog.csdn.net ...

  6. js/php判断移动端还是PC端

    if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobi ...

  7. Ubuntu下查看SD卡设备名的几个方法

    Ubuntu下使用SD卡查询SD卡的设备文件名:sudo fdisk -leg:Disk /dev/sdb:14.9 GiB,15931539456 字节,31116288 个扇区单元:扇区 / 1 ...

  8. TCL 引用同目录下其他脚本文件--source

    方法一: source [file join [file dirname [info script]] Export_inp_by_loadstep.tcl] 方法二: source [file jo ...

  9. python 画图工具matplotlib 去掉坐标轴和坐标的方法

    1. 去掉坐标轴的方法: plt.axis('off') 2.去掉刻度的方法: plt.xticks([]) plt.yticks([]) 以上语句需要将其置于 plt.show() 之前,plt.i ...

  10. python学习笔记八(集合)

    集合 set是一个无序的不重复元素序列. 用大括号或set()函数创建集合.注意:创建一个空集合用set(),不用{},{}用来创建空字典 basket = {'apple','orange','ap ...