基本结构
def 函数名(参数):
"""
<函数功能>
:param ...
:return ...
"""
逻辑计算
用例
例题1 根据课程阶段计算课程名称
# 逻辑计算
def calculate_course_name(number):
"""
计算课程名称
:param number: str类型,阶段
:param dict_course: dict类型,阶段-课程对应关系
:return: 返回阶段所对应的课程名称
"""
dict_course = {
"1":"Python语言核心编程",
"2":"Python高级软件技术",
"3":"Web全栈",
"4":"项目实战",
"5":"数据分析、人工智能",
}
if number in dict_course:
return dict_course[number]
# 获取数据
number = input("请输入课程阶段数:")
course_name = calculate_course_name(number)
# 显示结果
print(course_name)
例题2 计算几斤几两
# 逻辑计算
def calculate_pounds_liang(total_weight):
"""
计算几斤几两
:param total_weight: int类型数据,重量
:return: 返回几斤几两
"""
jin = total_weight // 16
liang = total_weight % 16
return jin,liang
# 获取数据
weight = int(input("输入重量:"))
jin,liang = calculate_pounds_liang(weight)
# 显示结果
print(f"{weight}是{jin}斤{liang}两")
例题3 根据年月日计算是这一年的第几天
#-----------------------函数定义-----------------------
# 逻辑计算
def determine_leap_year(year):
"""
根据年份,判断
:param year: int类型,年
:return: int类型,二月的天数
"""
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return 29
return 28
def calculate_day(year,month,day):
"""
根据年月日计算是这一年的第几天
:param year: int类型,年
:param month: int类型,月
:param day: int类型,日
:return: int类型,第几天
"""
february = determine_leap_year(year)
# 列表占内存大,因为有预留空间,列表是一系列【变量】组成的可变序列
# list_days = [31, february, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# ☆元组占内存少,因为无预留空间,元组是一系列【变量】组成的不可变序列
list_days = (31,february,31,30,31,30,31,31,30,31,30,31)
# ☆写法1:
what_day = day + sum(list_days[:month-1])
# 写法2:
# what_day = day # 第几天
# for i in range(month-1):
# what_day += list_days[i]
return what_day
#-----------------------函数调用-----------------------
# 获取数据
year,month,day = int(input("输入年:")),int(input("输入月:")),int(input("输入日:"))
what_day = calculate_day(year,month,day)
# 显示结果
print("%s年%s月%s日是%s的第%s天" % (year,month,day,year,what_day))