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,通过更新前一部的练习题让自己也学到了不少 ... 
随机推荐
- 工具 - VS Code
			杂项 1. 主题 brackets light pro, One Monokai theme 2. directory tree indent guidelines, directory vertic ... 
- Maven笔记一
			简介:什么是maven Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理. 如图为项目构建的过程. 解决的项目的问题: 1. 如果有好几个项目,这好几个项目中,需要 ... 
- spring cloud spring boot JPA 克隆对象修改属性后 无法正常的执行save方法进行保存或者更新
			2019-12-1220:34:58 spring cloud spring boot JPA 克隆对象修改属性后 无法正常的执行save方法进行保存或者更新 未解决 
- Balanced Lineup -POJ3264
			题意: 告诉你n头奶牛的高度,然后给你一个区间,你需要求出这个区间最高的奶牛与最矮的奶牛之间相差多少 链接:http://poj.org/problem?id=3264 思路: 线段树区间查询,用两个 ... 
- C语言入门---第九章 C语言指针
			没学指针就是没学C语言! 指针是C语言的精华,也是C语言的难点. 所谓指针,也就是内存的地址,所谓指针变量,也就是保存了内存地址的变量.不过人们往往不会区分两者的概念,而是混淆在一起使用. ===== ... 
- Codeforces Global Round 4E(字符串,思维)
			#include<bits/stdc++.h>using namespace std;string s,a,b;int main(){ cin>>s; int n=s.size ... 
- Linux centosVMware Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间
			一.Nginx访问日志 vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日至格式 改为davery格式 $remote_addr 客户端IP ... 
- Linux centos7 LAMP架构介绍、 MySQL、MariaDB介绍、MySQL安装
			一.LAMP架构介绍 为Linux+Apache(httpd)+MySQL+PHP简写,把后三者安装在Linux Apache是最常用的的web服务软件,MySQL为小型的数据库存储软件,PHP为脚本 ... 
- 引入CSS的方式、link和@import的区别
			引入CSS的方式有四种:内联方式.嵌入方式.链接方式.导入方式. 内联方式 内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS. <div style="back ... 
- 在Centos下单机部署kubernetes
			官方安装手册 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ ... 
