嗯,今天就这点东西.
Posted joy20181017
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嗯,今天就这点东西.相关的知识,希望对你有一定的参考价值。
嗯,今天就这点东西.
今日主要内容
认识函数
函数: 对功能或者动作的封装
语法:
def 函数名(形参):
函数体
函数名(实参)
函数的返回值
return, 终止函数的运行
1. 函数内部不写return, 默认在最后返回None
2. 函数只写了return 返回None
3. return 值 有一个返回值
4. return 值1, 值2, 值3 .... 有多个返回值
返回值返回给调用方
函数的参数(一部分)
形参: 在函数声明位置的变量
1. 位置参数
2. 默认值参数
3. 混合 位置, 默认值
4. 动态传参, *args, **kwargs
实参: 在函数调用的时候给函数传递的具体的值
1. 位置参数
2. 关键字参数
3. 混合参数
顺序: 位置, 关键字
传参: 把实参赋值给形参的过程
作业
### 1,整理函数相关知识点, 写博客。
2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def measure(lst):
lst2 = []
for n in lst:
if n % 2 != 0 and n != 0:
lst2.append(n)
return lst2
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(measure(lst))
3,写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def measure(s):
if len(s) > 5:
return (‘TURE‘)
else:
return (‘FALUS‘)
print(measure(‘1234‘))
4,写函数,检查传入列表的长度,如果大于2,将列表的前两项内容返回给调用者。
def compare(lst):
if len(lst) > 2:
return lst[:2]
lst = [1, 2, 3]
print(compare(lst))
5,写函数,计算传入函数的字符串中, 数字、字母、空格
以及
其他内容的个数,并返回结果。
def count(s):
digit = 0
alpha = 0
space = 0
other = 0
for n in s:
if n == ‘ ‘:
space += 1
elif n.isalpha():
alpha += 1
elif n.isdigit():
digit += 1
else:
other += 1
return digit, alpha, space, other
s1 = ‘asdasfesadasdff85 2456#$%^&*(‘
digit, alpha, space, other = count(s1)
print(digit, alpha, space, other)
6, 写函数,接收两个数字参数,返回比较大的那个数字
def compare(a, b):
if a > b:
return a
if b > a:
return b
else:
return ‘=‘
k = compare(1, 1)
print(k)
7,写函数,检查传入字典的每一个value的长度, 如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
PS: 字典中的value只能是字符串或列表
def count(dic):
dit = {}
for n, j in dic.items():
if len(j) > 2:
dit[n] = j[:2]
return dit
print(count(dic))
8, 写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11, 22, 33]
返回的字典为
{0: 11, 1: 22, 2: 33}。nc(‘a’, ’b’)
def change(lst):
dit = {}
i = 0
for n in lst:
dit[‘%d‘ % (i)] = n
i += 1
return dit
lst = [11, 22, 33]
print(change(lst))
9,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。
def save(name, sex, age, edu):
dit = {}
dit[‘name‘] = name
dit[‘sex‘] = sex
dit[‘age‘] = age
dit[‘edu‘] = edu
with open(r‘syudent_msg‘, ‘a‘, encoding=‘utf-8‘)as f:
f.write(str(dit) + ‘
‘)
save(‘j‘, ‘m‘, ‘50‘, ‘bk‘)
10,对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
def ip(name, sex=‘男‘):
k = print(name, sex)
while 1:
name = input(‘请输入你的姓名,输入Q退出‘)
if name.upper() == ‘Q‘:
break
sex = input(‘请输入你的性别‘)
if sex == ‘女‘:
ip(name, sex)
else:
ip(name)
11,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成文件的修改操作(升级题)。
def rename(name, content):
with open(‘%s‘ % (name), ‘r‘, encoding=‘utf-8‘)as f:
n = f.read()
return n.replace(content, ‘asdasdasda‘)
12,写一个函数完成三次登陆功能,再写一个函数完成注册功能(升级题)
def sign():
n = 3
name1 = 1
password1 = 2
while n:
name = input(‘name‘)
password = input(‘password‘)
if name == name1 and password == password1:
print(‘登录成功‘)
break
n -= 1
if n == 0:
print(‘登录失败‘)
sign()
def register():
print(‘你进入注册功能‘)
name = input(‘输入你的用户名:‘)
password = input(‘输入你的密码‘)
print(‘注册成功‘)
register()
以上是关于嗯,今天就这点东西.的主要内容,如果未能解决你的问题,请参考以下文章