博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数编程练习题1
阅读量:5094 次
发布时间:2019-06-13

本文共 3042 字,大约阅读时间需要 10 分钟。

一.编码问题 1.python2默认编码是ASCII,python3默认编码是UTF-8. 出现中文乱码是因为中文文件打开的时候源文件用的编码格式转换成Unicode,Unicode再转换成当前的编码格式,前后两个编码格式不同引起的。 GBK汉字和英文都占两个字节,Unicode全部占4个字节,比较浪费空间,UTF-8英文占一个字节,汉字占三个字节。 GBK 《==》 Unicode 《==》UTF-8,GBK和UTF-8之间的转换需要通过Unicode。(两种编码之间的转换,要通过Unicode作为桥梁) 2·在python2中bytes也是str类型,python3中bytes就是bytes。 二·r是用来读取非二进制文件。rb是读取二进制文件。 f_name是文件的名称及路径名,'r'是读取文件,encoding = "utf-8"是用utf-8编码的方式打开文件。
open(f_name,'r',encoding="utf-8")

 二·函数基础

1.

from functools import reducedef Sum(x,y):    return x+yprint(reduce(Sum,[1,2,3,4,5,6]))# from functools import reduce# a = reduce(lambda x,y:x+y,[1,2,3,4,5,6])# print(a)

2.

def file(m):    with open(m,'r') as f:        for n in f:            print(n)            file("C:/Users/Administrator/Desktop/name.txt")

 3.

def Space(list):    if '' in list:        print("有空格")    else:        print("没有空格")m = [1,2,3,4,5,7]Space(m)

4.

dic = {"1": 'v1v1', "2": [1, 2, 3, 4, 5]}def Len(dic):   n_dic = {}    for key,value in dic.items():        if len(value) >2:            value = value[0:2]        n_dic[key] = value[0:2]            print(value)        else:            n_dic[key] = valueLen(dic)

 5.闭包的概念

 闭包就是把子函数封装起来,返回子函数的地址。即使函数进程结束,在函数外部仍然可以调用子函数,子函数可以使用它外部函数的参数,作用域。

 

函数进阶

1.

def cards():    list1 = []    for k in range(2,11):        list1.append(k)    list1.extend(["J","Q","K","A"])    type = ["红桃","梅花","黑桃","方片"]    list2 = []    for i in list1:        for j in type:            list2.append((i,j))    return list2print(cards())

2.

def min_max(*args):    t_max = args[0]    t_min = args[0]    for k in args:        if k <= t_min:            t_min = k        if k>= t_max:            t_max = k    return {"max":t_max,"min":t_min}print(min_max(5,2,7,8,4))

3.

def area(name,*args):    def long(x,y):        return x*y    def square(a):        return a*a    def round(r):        return r*r    if name == "long":        return long(*args)    if name == "square":        return square(*args)    if name == "round":        return round(*args)print(area("long",3,4))print(area("square",4))print(area("round",3))

4.

def calc(n):    res = 1    for i in range(1, n+1, 1):        res = res*i    return resprint(calc(10))

5.

user_status = Falsedef login(auther_type):    def travel_2(func):        def travel_1(*args,**kwargs):            user = 'dapeng'            password = "123"            global user_status            if not user_status:                user = input("用户名:")                password = input("密码:")                if user == 'dapeng' and password == "123":                    print("欢迎登陆")                    user_status = True                else:                    print("密码错误,请重新输入")            if user_status == True:                func(*args, **kwargs)        return travel_1    return travel_2@login("qq")def japan(travel,histroy):    print("欢迎来到japan",travel,histroy)def CN():    print("欢迎来到CN")@login("wx")def AUS(renwen,histroy):    print("欢迎来到AUS",renwen,histroy)japan("sakura","300")AUS("RENWU","daishu")

  

  

  

  

 

  

 

  

 

 

转载于:https://www.cnblogs.com/Roc-Atlantis/p/8631284.html

你可能感兴趣的文章
Using True Type Fonts in XTerm
查看>>
文件读写
查看>>
【转】Linq 求和,求平均值,求最大,求最小,分组,计数
查看>>
关于调整input里面的输入光标大小
查看>>
asp.net实现页面无刷新效果
查看>>
学习总结 for循环语句的应用
查看>>
简聊REST风格
查看>>
php在web服务器中的工作原理
查看>>
String.intern()
查看>>
C# 如何将List拆分成多个子集合
查看>>
转:使用脚本关闭订单头
查看>>
TreeSet—————我们认知的集合
查看>>
jquery消息插件(jquery.messager.js)
查看>>
留言区
查看>>
link 参数
查看>>
Center OS7网络设置
查看>>
GitHub入门
查看>>
selenium添加cookie切换到不同环境
查看>>
form表单自动回车提交
查看>>
虚机的部分操作
查看>>