python练习题4
1.将字符串“老男孩”转换成UTF-8编码的字节类型
s = "老男孩"
bytes(s,'utf8')
s.encode('utf8')
2.简述globals(),locals()的作用
答:globals()获取所有的全局变量
locals()获取所有局部变量
3.利用内置函数zip(),实现功能
l1 = ["alex",22,33,44,55] l2 = ["is",22,33,44,55]
l3 = ["good",22,33,44,55] l4 = ["guy",22,33,44,55]
请获取字符串 s = "alex_is_good_guy"
l1 = ["alex",22,33,44,55]
l2 = ["is",22,33,44,55]
l3 = ["good",22,33,44,55]
l4 = ["guy",22,33,44,55]
print("_".join(list(zip(l1,l2,l3,l4))[0]))
4.书写执行结果
a.
name = "苍老师"
def outer(func):
name = 'alex'
func()
def show():
print(name)
outer(show)
输出结果为:苍老师
b.
name = "苍老师"
def outer():
name = "波多"
def inner():
print(name)
return inner()
ret = outer()
print(ret)
输出结果为:波多 None
c.
name = "苍老师"
def outer():
name = "波多"
def inner():
print(name)
return inner
ret = outer()
ret()
print(ret)
result = ret()
print(result)
输出结果为:波多 <function outer.<locals>.inner at 0x000002383F865598> 波多 None
d.
def outer(func,z,y)
return func(z) #若无return 则输出None
def show(x)
return x*x
ret = outer(show,9,23)
print(ret)
输出结果为:81
e.
def outer(func,z,y):
return func(z,y) #若无return 则输出None
f1 = lambda x,y:x+y
ret = outer(f1,11,22)
print(ret)
输出结果为:33
5.利用递归实现1*2*3*4*5*6*7=5040
def num(n,a = 1):
if n == 1:
return a
a *= n
res = num(n-1,a)
return res
print(num(7))
from functools import reduce
print(reduce(lambda x,y:x*y,range(1,8)))
print(reduce(lambda x,y:x*y,[i for i in range(1,8)])) #列表解析
def f(n):
if n == 1:
return 1
return n*f(n-1)
a = f(7)
print(a)
6.利用with实现同时打开两个文件(一读,一写,并将读取到的内容写入到写入模式的文件中)
with open('a.txt','r',encoding='utf8') as x,\
open('b.txt','w',encoding='utf8') as y:
y.write(x.read())
7.有一筐桃子,猴子每天吃一半加一个,吃到第十天只剩一个,问一筐桃子原来有多少个?
1.递归法:
def f(day,a):
if day == 1:
return a
a = (a+1)*2
day -= 1
res = f(day,a)
return res
sum = f(10,1)
print(sum)
2.函数法:
sum = 1
func = lambda x:(x+1)*2
for i in range(9):
sum = func(sum)
print(sum)
输出结果为:1534
python练习题4的更多相关文章
- Python练习题 028:求3*3矩阵对角线数字之和
[Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...
- Python练习题 027:对10个数字进行排序
[Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...
- Python练习题 026:求100以内的素数
[Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...
- Python练习题 025:判断回文数
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...
- Python练习题 024:求位数及逆序打印
[Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...
- Python练习题 004:判断某日期是该年的第几天
[Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...
- Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。
Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...
- PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。
Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...
- python 基础 2.8 python练习题
python 练习题: #/usr/bin/python #coding=utf-8 #@Time :2017/10/26 9:38 #@Auther :liuzhenchuan #@File ...
- Python练习题2
如果真的想学精,学什么都不是好学的,如果真的想把Python学的出神入化,几乎自己想做什么都可以,就要下定恒心,坚持下去. 接下来继续更新Python练习题2,通过更新前一部的练习题让自己也学到了不少 ...
随机推荐
- Win10 在 CUDA 10.1 下跑 TensorFlow 2.x
深度学习最热的两个框架是 pytorch 和 tensorflow,pytorch 最新版本是 1.3,tensorflow 最新版本为 2.0,在 win10 下 pytorch 1.3 要求的 c ...
- 番外篇!全球首个微信应用号开发教程!小程序 DEMO 视频奉上!
大家好,我是博卡君.经过国庆节的七天假期,相信很多朋友都已经研究出自己的小程序 demo 了吧?我最近也利用休息时间关注了一下网上关于小程序开发的讨论,今天就利用这个番外篇谈谈自己对小程序的一些想法吧 ...
- 「学习笔记」FFT 快速傅里叶变换
目录 「学习笔记」FFT 快速傅里叶变换 啥是 FFT 呀?它可以干什么? 必备芝士 点值表示 复数 傅立叶正变换 傅里叶逆变换 FFT 的代码实现 还会有的 NTT 和三模数 NTT... 「学习笔 ...
- webdriver-js操作滚动条
webdriver-js操作滚动条 1. webdriver高级应用-js操作滚动条 1.滑动页面的滚动条到页面最下面 2.滑动页面的滚动条到页面的某个元素 3.滑动页面的滚动条向下移动某个 ...
- burpsuite使用--暴力破解
测试靶机:dvwa 浏览器开启代理,使用burpsuite拦截: 并将拦截到的内容发送到intruder进行暴力破解 右边的Add$和Clear$都是选择爆破范围的操作,一个是选择,一个是清除,这里只 ...
- 六 Struts2访问Servlet的API方式一:完全解耦合的方式
注意: 完全解耦合的方式,这种方式只能获得代表request.session.application的数据的Map集合. 不能操作这些对象的本身的方法. 1 jsp: <%@ page lang ...
- sprintf 、vsprintf 、_vsntprintf
转载:https://blog.csdn.net/anye3000/article/details/6593551 sprintf函数的定义为: int sprintf(char *szBuffer, ...
- vue-element-admin 引入高德地图并做海量点标记
第一步: 首先在index.html入口文件中添加引入高德地图的js,并填写自己在官网申请的key.如果没有申请不填写也是可以的. plugin:项目中如果有需要引入插件则使用没有直接去掉就行. &l ...
- css怎样让元素显示指定的宽高比
.father { width: 100% } .child {; padding-bottom: 20%; background: green; overflow: hidden; } <bo ...
- java连接sql server 2008
请先确保已经设置好了sa,如果不是,可以参照下面链接修改http://jingyan.baidu.com/article/8cdccae9452b3c315513cd52.html 然后重启数据库,重 ...