news 2026/10/19 1:41:38

Python62:核心语法-函数基础-案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python62:核心语法-函数基础-案例

案例

# 案例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)) # 不能构成三角形

声明:本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 1:40:56

STM32在线IAP升级全攻略:Bootloader设计、Flash分区与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/19 1:39:23

Unity UGUI移动端异形屏适配:安全区与Canvas Scaler实战

1. 移动端UI适配的核心痛点与整体思路做过移动端项目的同行大概都有过这种体验&#xff1a;在编辑器里调得好好的界面&#xff0c;一打包到真机上就全乱了——刘海屏把顶部按钮遮住、底部虚拟导航栏压住了技能栏、平板设备上UI被拉伸得不成比例。这些问题在Unity的UGUI体系里尤…

作者头像 李华
网站建设 2026/10/19 1:38:21

大麦网自动抢票脚本:部署、参数配置与运行原理

大麦网自动抢票脚本&#xff1a;部署、参数配置与运行原理 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase Automatic_ticket_purchase 是一个面向大麦网的 Python 抢票工具&a…

作者头像 李华
网站建设 2026/10/19 1:38:14

网盘直链下载:LinkSwift 浏览器脚本两分钟跑通完整指南

网盘直链下载&#xff1a;LinkSwift 浏览器脚本两分钟跑通完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

作者头像 李华