1、有重复代码,用函数增加代码的重用性
2、代码太长,用函数增强代码的可读性
一、参数
参数可分为形参、实参、位置传参和关键字传参
注意:
1. ** 必须放在 * 的后面
2. 参数和动态参数混合时,动态参数只能放在最后
3. 默认值参数和动态参数同时存在
二、返回值
1、返回值可以是任意类型,如果函数中没写return,则默认返回None
注:当在函数中未写返回值
或 return
或 return None
,执行函数获取的返回值都是None
2、return后面的值如果有逗号,则默认会将返回值转换成元组再返回
3、函数一旦遇到return就会立即退出函数(终止函数中的所有代码)
1、请定义一个函数,用于计算一个字符串中字符a
出现的次数并通过return返回
需求:- 参数,字符串。
- 返回值,字符串中 a 出现的次数
def char_count(text):
count = 0
for char in text:
if char == ‘a‘:
count += 1
return count
result = char_count("alex")
print(result)
2、写函数,判断用户传入的一个值(字符串或列表或元组任意)长度是否大于5,并返回真假
def judge_length(data):
if len(data) > 5:
return True
return False
result = judge_length(‘dadadadda‘)
print(result)
3、写函数,接收两个数字参数,返回比较大的那个数字(等于时返回两个中的任意一个都可以)
def get_bigger(num1, num2):
if num1 > num2:
return num1
return num2
result = get_bigger(2, 3)
print(result)
4、写函数,函数接收四个参数分别是:姓名,性别,年龄,学历,然后将这四个值通过"*"拼接起来并追加到一个student_msg.txt文件中
def write_file(name, sex, age, edu):
list = [name, sex, age, edu]
data = ‘*‘.join(list)
with open(‘student_msg.txt‘, mode=‘a‘, encoding=‘utf-8‘) as pf:
pf.write(data)
result = write_file(‘alex‘, ‘男‘, ‘30‘, ‘本科‘)
print(result)
5、补充代码,实现如下功能:
import os
def select_content(file_path,key):
# 补充代码【位置1】
if not os.path.exists(file_path):
return None
# 补充代码【位置1】
data_list = []
with open(file_path, mode=‘r‘, encoding=‘htf-8‘) as pf:
data = pf.read()
for line in data:
if key in line:
data_list.append(line)
return data_list
result = select_content("xxx.txt", "股票")
# 补充代码【位置2】
if result == None:
print(‘文件不存在‘)
else:
print(result)
6、补充代码,实现敏感词替换的功能
def change_string(origin):
# 补充代码,将字符串origin中中的敏感词替换为 **,最后将替换好的值返回。
data_list = ["苍老师", "波多老师", "大桥"]
for item in data_list:
origin = origin.replace(item, ‘**‘)
return origin
text = input("请输入内容:")
result = change_string(text)
print(result)
7、基于函数实现用户认证,要求:
files/user.xlsx
文件中)import hashlib
from openpyxl import load_workbook
def get_user_dict():
user_dict = {}
wb = load_workbook("user.xlsx")
sheet = wb.worksheets[0]
for row in sheet.rows:
user_dict[row[1].value] = row[2].value
return user_dict
def encrypt(origin):
origin_bytes = origin.encode(‘utf-8‘)
md5_object = hashlib.md5()
md5_object.update(origin_bytes)
return md5_object.hexdigest()
user = input("请输入用户名:")
pwd = input("请输入密码:")
通过加密算法得出最终的密文
encrypt_pwd = encrypt(pwd)
通过函数get_user_dict()从excel中解析出用户名和密码数据放入user_dict字典中
user_dict = get_user_dict()
通过输入的用户名去系统的用户名密码配置文件中查找对应的密码
db_pwd = user_dict.get(user)
比较用户输入的密码与系统配置文件中的密码是否一致,一致则输出正确,否则错误
if db_pwd == encrypt_pwd:
print("输入正确")
else:
print("输入错误")
原文:https://www.cnblogs.com/sweetydm/p/14800155.html