day9——函数初识
函数的定义:将可重复使用的,实现某种功能的代码段组织在一起2、函数的语法: def 函数名(参数): 函数体 return 2.1、函数名是一个变量,因此命名规则需遵守变量命名规则 3、函数的调用 函数名()4、函数的返回值 return 可空、None、单个、多个以tuple返回给调用者5、函数的参数: 函数定义时声明的变量的叫形参 1、位置参数 2、默认参数 函数调用时传给函数的叫实参 1、位置参数 定义多少个,调用时也必须传多少个 2、关键字参数 3、混合参数 位置参数需在关键字参数之前 函数返回值 return: 在函数执行的时候,遇到return就返回 函数后面什么都不写,返回None 函数中只写一个return,会返回None 多个返回值接受到的是元祖 参数: 函数执行的时候给函数传递信息 在函数生命的位置给的变量: 形参 在函数调用的地方给的具体的值:实参 实参 位置参数:按照形参的位置,传值 关键字参数:按照形参的名字给形参传值 混合参数:即用位置参数,也用关键字参数,先位置参数,后关键字参数 形参 位置参数 默认值参数 动态传参 day8——作业
1,整理函数相关知识点,写博客。 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
① def func(a):l2 = []for i in range(len(a)):if i % 2 == 1:l2.append(a[i])return l2 print(func([1,2,3,4,5,6,7]))② def baba(a): #传完参数以后,现在的 a = [1,2,3,4,5,6,7,8,4,5,6,78,9,8]return a[1::2] #对原列表进行切片形成一个新列表,将新列表返回给调用者 print(baba([1,2,3,4,5,6,7,8,4,5,6,78,9,8])) #爸爸接受return返回的值
3,写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
① def func(a):return len(a) > 5 print(func('afdffsfsf'))② def func(x):return True if len(x) > 5 else False print(func([1,2,3,4,5,6,7]))
4,写函数,检查传入列表的长度,如果大于2,将列表的前两项内容返回给调用者。
①: def func(a):return a[:2] if len(a) > 2 else None print(func([1,2,3,4]))②:def func(a):return a[:2] print(func([1]))
5,写函数,计算传入函数的字符串中, 数字、字母、空格 以及 其他内容的个数,并返回结果。
def func(a):s = s1 = s2 = s3 = 0for i in a:if i.isspace():s += 1elif i.isalpha():s1 += 1elif i.isdigit():s2 += 1else:s3 += 1return ('空格:%s,字母:%s,数字:%s,其他:%s,'%(s,s1,s2,s3)) print(func('fdkls4909fjksj jfkd'))
6,写函数,接收两个数字参数,返回比较大的那个数字。
def func(x,y):return x if x > y else y print(func(10,5))
7,写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。 dic = {"k1": "v1v1", "k2": [11,22,33,44]} PS:字典中的value只能是字符串或列表
① dic = {"k1": "v1v1", "k2": [11,22,33,44]} def func(a):for i in a:a[i] = a[i][:2]return a print(func(dic))② dic = {"k1": "v1v1", "k2": [11,22,33,44]} newdic = {} def func(a):for k, v in a.keys():if len(v) > 2:s = v[0:2]newdic[k] = selse:newdic[k] = vreturn a print(func(dic))
8,写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
① def func(a):dic = {}if type(a) == list:for k,v in enumerate(a): #枚举法dic[k] = vreturn dic print(func([11,22,33,44]))
9,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。
def func(name,sex,age,education):with open("student_msg","a",encoding="utf-8") as f:f.write(name+'_'+sex+'_'+age+'_'+education+'\n')name = input("请输入你的姓名:") gender = input("请输入你的性别:") age = input("请输入你的年龄:") education = input("请输入你的学历:") print(func(name,gender,age,education))
10,对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
def func(name,age,education,sex="男"):with open("student_msg","a",encoding="utf-8") as f:li = "\t".join([name,sex,age,education])f.write(li+"\n")flag = 1 while flag:name = input("请输入你的名字(输入q或者Q退出):").strip()if name.strip().upper() == 'Q':flag = 0breakelse:sex = input("请输入你的性别(默认为男,回车即可):")age = input("请输入年龄:")education = input("请输入学历")if sex =="女":func(name,age,education,sex)else:func(name,age,education)
11,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。
import os with open('change',encoding='utf-8') as f1,\open('change.bak',encoding='utf-8',mode="w") as f2:for i in f1:new_line = i.strip().replace('alex','SB')f2.write('%s\n'% new_line) os.remove('change') os.rename('change.bak','change')
12,写一个函数完成三次登陆功能,再写一个函数完成注册功能(升级题)
def register():while True:username = input('请输入新帐号:').strip()password = input('请输入新密码:').strip()with open('name_list', encoding='utf-8', mode='a+') as f:f.seek(0)for i in f:i = i.split()if username in i:print('此帐号已存在,请重新注册!')breakelse:f.write('{}\t{}\n'.format(username, password))return '注册成功' # print(register())def login():num = 1while num <= 3:username = input('请输入用户名:')password = input('请输入密码:')with open('name_list', encoding='utf-8') as f1:for i in f1:i = i.split()if username in i and password in i:return '登录成功!'else:print('帐号或密码错误,请重新输入! 您还有%s次机会。' % (3 - num))num += 1return '登录失败!' # print(login())print('1,登录\n2,注册') while True:choice = input('请输入序号:').strip()if choice == '1':print(login())breakelif choice == '2':print(register())print(login())breakelse:print('输入有误,请重新输入选择!')
转载于:https://www.cnblogs.com/-li926/p/9478068.html
day9——函数初识相关推荐
- day3----编码-集合-深浅copy-文件操作-函数初识
day3----编码-集合-深浅copy-文件操作-函数初识 本文档主要内容: 一 编码 二 集合 三 深浅copy 四 文件操作 五 函数初识 首先,我们来看看两个字符串的比较 打开cmd,进入do ...
- 集合、深浅拷贝、文件操作(读、写、追加)函数初识(参数)
小数据池 #int ==比较数值 is 比较内存地址 id 测试内存地址 #str 不能含有特俗字符 单个元素*数字,不能超过21 i1 = 'a'*20 i = 'a'*20 id一样 i1 = ' ...
- Day4:python之文件操作、函数初识(2)
又是一周过去了,感觉我接受新知识有点慢啊,脑子跟不上还是怎么着呢,那也没办法,慢慢学吧,也不能放弃啊. 一.记住非空即真.非零即真 二.操作文件 只读模式:r ,打开不存在的文件会报错,r 模式不能写 ...
- python入门之函数结构函数的参数_Python 基础之函数初识与函数参数
一.函数初识 定义:满足某一个方法 满足某一个功能#(1)功能(包裹一部分代码 实现某一个功能 达成某一个目的)#(2)可以反复调用,提高代码的复用性,提高开发效率,便于维护管理#(3)函数的基本格式 ...
- Python 函数初识 (1)
一.今日主要内容 认识函数 函数:对功能或者动作的封装(定义) 语法: def 函数名字(形参) 函数体 函数的调用格式:函数名(实参) 函数的返回值 关键字:return 终止函数的运行 1.函数内 ...
- JQuery 匿名函数初识(转载)
jQuery片段: (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我 ...
- 函数初识(文字总结)
# 函数 # 可读性强 复用性强# def 函数名(): # 函数体 #return 返回值# 所有的函数 只定义不调用就一定不执行 #先定义后调用 #函数名() #不接收返回值#返回值 = 函数名( ...
- select、bash函数初识及rpm命令详解
一.循环的特殊用法及select 二.bash函数基础 三.rpm命令 一.循环的特殊用法及select 1)while循环的特殊用法(遍历文件的每一行): while read line; do ...
- Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数
Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...
最新文章
- 0040-如何重置Cloudera Manager的admin密码
- IBM X System ServerGuide 8.41 服务器 系统安装引导盘
- Spring Bean初始化过程
- jQuery 拖拽窗体
- 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
- console.log()不显示结果_提醒低端电子显示屏易致视疲劳,OLED屏幕表现略好
- 委托和事件[delegate and event]_C#
- SDUT-2054_数据结构实验之链表九:双向链表
- 如何减少silverlight XAP包的尺寸
- 分享一篇文章,博主的经历值得借鉴
- MATLAB显示图像为什么一片白
- 计算机系统的用户分几类,计算机操作系统的几种分类方式
- 一个牧场目前一共有20头刚出生的羊,母羊、公羊各一半。假如母羊5岁时后每年生一胎(母羊,公羊各一半)。羊活到10岁后死亡。请问20年后这个牧场有多少只羊? 请用C#写出算法。
- (含代码)基于51最小系统的流水灯+焊接制作
- voc2012 测试数据集 上传
- 【Unity实战100例】文件压缩Zip和ZIP文件的解压
- 二零二二,闯北十年,及时行乐,此生尽兴
- adb 禁止app联网_通过ADB启用和禁用系统应用
- 投影仪显示无法连接服务器失败怎么办,电脑和投影仪连不上怎么办
- 二维码支付的优势与劣势
热门文章
- 说说Java 7中的模块系统基本概念
- CSU 1027 Smallbox魔方
- Prism4翻译笔记(四)第四章:模块化应用程序开发
- 自己眼中的淡定生活!
- C Runtime Library来历, API, MFC, ATL关系
- Python中的各种if语句(if条件判断、if...else、if...elif...else、if...else嵌套)
- Python接口自动化之requests请求封装
- Postman接口测试工具学习笔记(二)Postman进阶实践:获取天气预报实例
- SAP License:MM中的几个概念
- SAP License:SAP 清帐介绍