函数的定义:将可重复使用的,实现某种功能的代码段组织在一起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——函数初识相关推荐

  1. day3----编码-集合-深浅copy-文件操作-函数初识

    day3----编码-集合-深浅copy-文件操作-函数初识 本文档主要内容: 一 编码 二 集合 三 深浅copy 四 文件操作 五 函数初识 首先,我们来看看两个字符串的比较 打开cmd,进入do ...

  2. 集合、深浅拷贝、文件操作(读、写、追加)函数初识(参数)

    小数据池 #int ==比较数值 is 比较内存地址 id 测试内存地址 #str 不能含有特俗字符 单个元素*数字,不能超过21 i1 = 'a'*20 i = 'a'*20 id一样 i1 = ' ...

  3. Day4:python之文件操作、函数初识(2)

    又是一周过去了,感觉我接受新知识有点慢啊,脑子跟不上还是怎么着呢,那也没办法,慢慢学吧,也不能放弃啊. 一.记住非空即真.非零即真 二.操作文件 只读模式:r ,打开不存在的文件会报错,r 模式不能写 ...

  4. python入门之函数结构函数的参数_Python 基础之函数初识与函数参数

    一.函数初识 定义:满足某一个方法 满足某一个功能#(1)功能(包裹一部分代码 实现某一个功能 达成某一个目的)#(2)可以反复调用,提高代码的复用性,提高开发效率,便于维护管理#(3)函数的基本格式 ...

  5. Python 函数初识 (1)

    一.今日主要内容 认识函数 函数:对功能或者动作的封装(定义) 语法: def 函数名字(形参) 函数体 函数的调用格式:函数名(实参) 函数的返回值 关键字:return 终止函数的运行 1.函数内 ...

  6. JQuery 匿名函数初识(转载)

    jQuery片段: (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我 ...

  7. 函数初识(文字总结)

    # 函数 # 可读性强 复用性强# def 函数名(): # 函数体 #return 返回值# 所有的函数 只定义不调用就一定不执行 #先定义后调用 #函数名() #不接收返回值#返回值 = 函数名( ...

  8. select、bash函数初识及rpm命令详解

    一.循环的特殊用法及select 二.bash函数基础 三.rpm命令 一.循环的特殊用法及select 1)while循环的特殊用法(遍历文件的每一行):  while read line; do ...

  9. Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...

最新文章

  1. 0040-如何重置Cloudera Manager的admin密码
  2. IBM X System ServerGuide 8.41 服务器 系统安装引导盘
  3. Spring Bean初始化过程
  4. jQuery 拖拽窗体
  5. 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
  6. console.log()不显示结果_提醒低端电子显示屏易致视疲劳,OLED屏幕表现略好
  7. 委托和事件[delegate and event]_C#
  8. SDUT-2054_数据结构实验之链表九:双向链表
  9. 如何减少silverlight XAP包的尺寸
  10. 分享一篇文章,博主的经历值得借鉴
  11. MATLAB显示图像为什么一片白
  12. 计算机系统的用户分几类,计算机操作系统的几种分类方式
  13. 一个牧场目前一共有20头刚出生的羊,母羊、公羊各一半。假如母羊5岁时后每年生一胎(母羊,公羊各一半)。羊活到10岁后死亡。请问20年后这个牧场有多少只羊? 请用C#写出算法。
  14. (含代码)基于51最小系统的流水灯+焊接制作
  15. voc2012 测试数据集 上传
  16. 【Unity实战100例】文件压缩Zip和ZIP文件的解压
  17. 二零二二,闯北十年,及时行乐,此生尽兴
  18. adb 禁止app联网_通过ADB启用和禁用系统应用
  19. 投影仪显示无法连接服务器失败怎么办,电脑和投影仪连不上怎么办
  20. 二维码支付的优势与劣势

热门文章

  1. 说说Java 7中的模块系统基本概念
  2. CSU 1027 Smallbox魔方
  3. Prism4翻译笔记(四)第四章:模块化应用程序开发
  4. 自己眼中的淡定生活!
  5. C Runtime Library来历, API, MFC, ATL关系
  6. Python中的各种if语句(if条件判断、if...else、if...elif...else、if...else嵌套)
  7. Python接口自动化之requests请求封装
  8. Postman接口测试工具学习笔记(二)Postman进阶实践:获取天气预报实例
  9. SAP License:MM中的几个概念
  10. SAP License:SAP 清帐介绍