案例
# 案例1:定义一个函数:根据传入的底base和高high计算三角形triangle面积的函数(三角形面积 = 底*高/2)。 def triangle_area(b, h): """ 根据传入的底base和高high计算三角形triangle面积 :param b: 底长 :param h: 高 :return: 三角形面积 """ return b * h / 2 print("底长为30,高度为20的三角形面积:", triangle_area(30, 20)) # 底长为30,高度为20的三角形面积: 300.0 # 案例2:定义一个函数:计算传入的字符串中元音字母的个数(元音字母为aeiouAEIOU)。 def count_aeiou(s): """ 统计字符串中元音字母的个数 :param s: 字符串 :return: 元音字母的个数 """ num = 0 for w in s: if w in 'aeiouAEIOU': num += 1 return num print(count_aeiou("Hello Python Hello World OK")) # 7 # 案例3:定义一个函数:计算传入的班级学员高考成绩列表中成绩的最高分、最低分、平均分(保留1位小数),并返回。 def calc_score(score_list): """ 计算传入的班级学员高考成绩列表中成绩的最高分、最低分、平均分 :param score_list: 分数列表 :return: 最高分,最低分,平均分 """ max_s = max(score_list) min_s = min(score_list) avg_s = round(sum(score_list) / len(score_list), 1) return max_s, min_s, avg_s s_list = [589, 609, 605, 643, 677, 455, 477, 489, 503] max_score, min_score, avg_score = calc_score(s_list) # 元组解包 print("最高分:",max_score) print("最低分:",min_score) print("平均分:",avg_score) """ 最高分: 677 最低分: 455 平均分: 560.8 """Python语言的内置函数并不是基于python语言开发的,是基于C语言开发的。
练习
''' 练习1.定义一个函数,根据传入的分数,计算对应的分数等级并返回。 分数 >= 90:A 分数 >= 75:B 分数 >= 60:C 分数 < 60:D ''' def get_score_level(score): """ 根据分数返回对应等级 :param score: 数字,学生考试分数 :return: 字符串,等级 A//B/C/D """ if score >= 90: return 'A' elif score >= 75: return 'B' elif score >= 60: return 'C' else: return 'D' print("88分等级:",get_score_level(88)) # 88分等级: B print("59分等级:",get_score_level(59)) # 59分等级: D""" 练习2. 定义一个函数,用于判断一个字符串是否是回文串,返回 bool 值。 把字符串反转,如果和原字符串相同,就是回文串。(如: "level", "radar", "黄山落叶松叶落山黄") """ def is_palindrome(s): """ 判断字符串是否为回文串 :param s: 传入原始字符串 :return: 布尔值,是回文返回True,否则False """ # 字符串切片反转 reversed_s = s[::-1] # 反转后和原字符串相等就是回文 if reversed_s == s: return True else: return False # 测试 print(is_palindrome("level")) print(is_palindrome("abc")) print(is_palindrome("黄山落叶松叶落山黄")) ''' True False True '''""" 练习3. 定义一个函数:完成时间转换功能,将传入的秒转换为小时、分钟、秒。 """ def sec_to_hms(total_sec): """ 总秒数换算成 小时、分钟、剩余秒 :param total_sec: 整数,总秒数 :return: 小时, 分钟, 秒 三个数值 """ # 1小时=3600秒 hour = total_sec // 3600 # 剩下的秒数 left_sec = total_sec % 3600 # 1分钟=60秒 minute = left_sec // 60 sec = left_sec % 60 return hour, minute, sec # 测试 h, m, s = sec_to_hms(3661) print(f"{h}:{m}:{s}") # 1:1:1""" 练习4. 定义一个函数:根据传入的三角形三个边的边长,判定三角形的类型(等边、等腰、普通,或者不能构成三角形)。 """ def judge_triangle(a, b, c): # 第一步:判断能不能构成三角形(两边之和大于第三边,边长必须大于0) if a<=0 or b<=0 or c<=0: return "不能构成三角形" if (a+b<=c) or (a+c<=b) or (b+c<=a): return "不能构成三角形" # 第二步:判断 #等边 if a==b==c: return "等边三角形" # 等腰 elif a==c or b==c or a==b: return "等腰三角形" else: return "普通三角形" # 测试 print(judge_triangle(1, 2, 3)) # 不能构成三角形 print(judge_triangle(3, 4, 5)) # 普通三角形 print(judge_triangle(3, 3, 3)) # 等边三角形 print(judge_triangle(3, 3, 4)) # 等腰三角形 print(judge_triangle(3, 3, -3)) # 不能构成三角形声明:本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。