Python焚诀之函数
Python焚诀之函数题目1简单问候函数编写一个函数say_hello(name)接收一个名字参数返回你好{name}格式的字符串。要求定义函数带一个参数使用 return 返回结果调用函数并打印输出运行示例请输入你的名字李四 你好李四# 1defsay_hello(name):returnf你好{name}!nameinput(请输入你的名字)print(say_hello(name))题目2两数之和编写一个函数add(a, b)接收两个数字参数返回它们的和。要求定义函数接收两个参数使用 return 返回计算结果获取用户输入的两个数字转换为浮点数调用函数并输出结果运行示例请输入第一个数字10 请输入第二个数字20 两数之和为30# 2defadd(a,b):returnab xfloat(input(num1:))yfloat(input(num2:))print(f{x}{y}{add(x,y)})题目3最大值函数编写一个函数max_of_three(a, b, c)接收三个数字参数返回其中最大的那个数。要求定义函数接收三个参数使用 if-elif-else 判断大小使用 return 返回最大值调用函数并输出结果运行示例请输入第一个数字15 请输入第二个数字8 请输入第三个数字22 最大值为22#3 给出两种参考defmax3(a,b,c):ifba:tbifbc:tcelse:tbelifba:taifac:tcelse:taelse:taifac:tcelse:tareturnt xfloat(input(the first number: ))yfloat(input(the second number: ))zfloat(input(the third number: ))print(fmax is{max3(x,y,z)})defmax_of_three(a,b,c):ifabandac:returnaelifbaandbc:returnbelse:returnc xfloat(input(请输入第一个数字))yfloat(input(请输入第二个数字))zfloat(input(请输入第三个数字))print(f最大值为{max_of_three(x,y,z)})题目4姓名处理函数编写一个函数format_name(first, last)接收姓和名两个参数返回姓.名格式的字符串。要求定义函数接收两个参数使用 return 返回格式化的结果获取用户输入的姓和名调用函数并输出结果运行示例请输入姓张 请输入名三 格式化结果为张.三#4defformat_name(s1,s2):returnf{s1}.{s2}s1input(请输入姓)s2input(请输入名)print(f格式化结果为 {format_name(s1,s2)})题目5列表求和编写一个函数sum_list(nums)接收一个数字列表返回列表中所有数字的总和。要求定义函数接收一个列表参数使用 for 循环遍历列表累加使用 return 返回总和定义列表并调用函数输出结果运行示例列表 [10, 20, 30, 40] 的总和为100#5defsum_list(a):s0foriinrange(len(a)):sa[i]returnf列表{a}的总和为{s}defsum_list1(a):s0foriina:# i 10, 20, 30, 40元素本身sireturnf列表{a}的总和为{s}a[10,20,30,40]print(sum_list(a))# C vs Python 循环碎碎念# C语言计数循环# c# for (int i 0; i 3; i) {# printf(%d, i); // i 0, 1, 2# }# // 思维我要循环3次i记录当前是第几次# Python遍历循环# python# for i in [10, 20, 30]: or for i in range(len(a)) :# print(i) # i 10, 20, 30# # 思维我要遍历列表里的每个元素i是元素本身# Python 不可以 for i in 具体数字# 选择了 in range 累加就要 s a[i]# 选择了 for i in a 直接用 s a题目6名字统计器编写一个程序反复让用户输入名字输入quit时结束然后将所有名字存入列表最后打印所有名字。要求使用 while 循环接收输入使用列表的 append() 方法添加名字输入quit时使用 break 退出循环输出所有输入的名字运行示例请输入名字输入quit结束张三 请输入名字输入quit结束李四 请输入名字输入quit结束王五 请输入名字输入quit结束quit 你输入的名字有[张三, 李四, 王五]#6defcollect():a[]whileTrue:nameinput(请输入名字)ifnamequit:breaka.append(name)returna resultcollect()print(result)题目7列表平均值编写一个函数average_list(nums)接收一个数字列表返回列表中所有数字的平均值。要求定义函数接收一个列表参数使用 sum() 函数求和再除以列表长度使用 return 返回平均值保留2位小数定义列表并调用函数输出结果运行示例列表 [85, 90, 78, 92, 88] 的平均值为86.60#7defaverage_list(l):s0foriinl:si avgs/len(l)returnavg a[85,90,78,92,88]print(f列表{a}的平均值为{average_list(a):.2f})Python函数焚诀从C语言思维到Python思维的转变今天完成了七个Python基础练习从最简单的问候函数到列表平均值计算看似简单的题目却让我深刻体会到思维转换的重要性。最大的挑战来自for循环。作为C语言的老用户我习惯性地认为for i in range(len(a))中的i就是计数器循环次数由range()决定。这种惯性思维导致我在做列表求和时犯了一个经典错误for i in range(len(a)): s i结果把索引值01236当成了列表元素的和。当意识到错误时我才真正理解了Python中for循环的本质——遍历可迭代对象中的每个元素而不是计数。range(len(a))生成的是[0,1,2,3]遍历的是索引直接for i in a遍历的才是元素本身。这个认知的转变让我对迭代有了更深的理解。另一个让我印象深刻的是函数参数的传递。在题目6中我最初写了一个带参数s的函数却发现参数完全没用最后删掉才明白——函数参数是为了接收外部数据如果函数内部不需要就不该定义。还有break必须放在循环内部的规则也是通过报错才真正记住的。此外变量的命名习惯也值得反思。name和names、sum和total看似细微的差异却直接影响代码的可读性。用names表示列表、name表示单个名字这种单复数对应关系让我不再混淆。回顾这七道题真正的问题不在语法本身而在于用C语言的思路写Python。Python的万物皆对象和迭代器概念需要我用新的思维方式去理解。接下来的学习中我要时刻提醒自己忘记C语言的计数器思维拥抱Python的迭代哲学。

相关新闻

AI Agent时代Skill安全防护全解析

AI Agent时代Skill安全防护全解析

1. Skill安全运行的现状与挑战最近GitHub上一个名为"同事.skill"的项目在短短5天内获得超过6600个star,引发了广泛关注。这个现象背后反映出一个重要趋势:Skill正在成为AI Agent时代的核心能力单元。从技术架构来看,大模型相当于Ag…

2026/7/19 23:45:00阅读更多 →
这里有惊喜,千问新用户免费领8元优惠券 输:新用户福利020738,激活领取入口

这里有惊喜,千问新用户免费领8元优惠券 输:新用户福利020738,激活领取入口

小伙伴们,这个是千问App官方认可的最新优惠活动,只要您在自己手机软件中,下载千问官方App,输入手机号登录后,直接输入 新用户福利020738 这个口令,就可以看到一个8元的立减优惠券,用您发财的小手…

2026/7/19 23:45:00阅读更多 →
为什么你的AI Banner总被老板打回?揭秘设计规范×算法逻辑×平台审核的3层校验机制

为什么你的AI Banner总被老板打回?揭秘设计规范×算法逻辑×平台审核的3层校验机制

更多请点击: https://kaifayun.com 第一章:为什么你的AI Banner总被老板打回?揭秘设计规范算法逻辑平台审核的3层校验机制 AI Banner生成看似一键完成,实则需同时通过三重隐形关卡:视觉设计规范、生成模型内部逻辑约束…

2026/7/19 23:45:00阅读更多 →
如何快速配置KK_Plugins:3个关键步骤详解

如何快速配置KK_Plugins:3个关键步骤详解

如何快速配置KK_Plugins:3个关键步骤详解 【免费下载链接】KK_Plugins Various plugins for various Illusion games 项目地址: https://gitcode.com/gh_mirrors/kk/KK_Plugins KK_Plugins是为Illusion系列游戏(如Koikatu、Koikatsu Sunshine、E…

2026/7/20 15:51:48阅读更多 →
CVE-2026-8924实战排查教程:curl超级Cookie注入漏洞检测、绕过原理与完整修复方案

CVE-2026-8924实战排查教程:curl超级Cookie注入漏洞检测、绕过原理与完整修复方案

前言 绝大多数运维、安全人员对curl的认知,还停留在“命令行HTTP请求工具”。大家日常用它测试接口、拉取资源、打包镜像,默认这套底层组件足够安全、常年稳定,不会出现高危漏洞。但现实恰恰相反,curl/libcurl 作为覆盖全球数十亿…

2026/7/20 15:51:48阅读更多 →
Fun-ASR性能对比与基准测试:与Whisper、Paraformer等模型的全面评测

Fun-ASR性能对比与基准测试:与Whisper、Paraformer等模型的全面评测

Fun-ASR性能对比与基准测试:与Whisper、Paraformer等模型的全面评测 【免费下载链接】Fun-ASR Open-source LLM-based ASR model family for Chinese, dialect, accent, and multilingual speech, with FunASR, vLLM, streaming, and llama.cpp runtimes. 项目地址…

2026/7/20 15:51:48阅读更多 →
在Windows/Linux/macOS上完美运行PS3游戏:RPCS3模拟器全平台终极指南

在Windows/Linux/macOS上完美运行PS3游戏:RPCS3模拟器全平台终极指南

在Windows/Linux/macOS上完美运行PS3游戏:RPCS3模拟器全平台终极指南 【免费下载链接】rpcs3 PlayStation 3 emulator and debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 想在电脑上重温《最后生还者》《神秘海域》《恶魔之魂》等PS3独占…

2026/7/20 15:51:48阅读更多 →
Azure Linux深度解析:微软云原生操作系统的架构与实战指南

Azure Linux深度解析:微软云原生操作系统的架构与实战指南

Azure Linux深度解析:微软云原生操作系统的架构与实战指南 【免费下载链接】azurelinux General purpose Linux OS for Azure 项目地址: https://gitcode.com/GitHub_Trending/az/azurelinux Azure Linux是微软专为Azure云基础设施和边缘计算场景设计的开源L…

2026/7/20 15:51:48阅读更多 →
ELK.js:解决复杂图表自动布局问题的完整JavaScript解决方案

ELK.js:解决复杂图表自动布局问题的完整JavaScript解决方案

ELK.js:解决复杂图表自动布局问题的完整JavaScript解决方案 【免费下载链接】elkjs ELKs layout algorithms for JavaScript 项目地址: https://gitcode.com/gh_mirrors/el/elkjs 在现代数据可视化应用中,复杂图表的自动布局一直是开发者的核心挑…

2026/7/20 15:49:46阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/20 0:50:54阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 0:50:54阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/20 0:50:54阅读更多 →
2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:01:04阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:01:04阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/19 22:50:49阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/19 14:50:26阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/19 18:50:36阅读更多 →