Python编程基础:实验5——函数定义与调用

简介: 有关Python函数定义与调用的一些题目练习。

一、前言

在前面我们刚学习了函数的有关知识,本期博客我们就来趁热打铁,开始有关函数定义与调用相关练习,后续还有一个有关函数的实验练习。

注意:代码仅供参考,还请大家多多思考!

二、我的环境

  • 电脑系统:Windows 11
  • 语言版本:Python 3.10.4
  • 编译器:VSCode

三、实验目的与要求

  1. 掌握函数的定义和使用,函数是一组表达特定功能代码行的封装,能够接收输入并返回处理结果。自定义函数需要用def关键字,自定义函数不能直接运行,必须通过调用函数才能运行。
  2. 理解形参、实参和函数返回值概念,理解函数的参数传递过程,熟练掌握按位置和名称进行参数传递,理解多种不同的形式参数(可选参数、可变数量参数),能根据具体需要选择参数传递形式及函数返回值形式。
  3. 理解变量的作用域概念,掌握局部变量和全局变量的使用方法,能根据具体需要选择使用。

四、实验任务

1、程序填空

【填空7-1】以下程序可以对键盘输入的数进行判断,如果是质数显示True,不是质数显示False,请在代码中横线处补充。

其中math.floor()方法作用是将数字x向下舍入到最接近的整数。

math.sqrt()方法作用是返回数字x的平方根。

importmathdefisPrime(num):
try:
iftype(num) ==type(0.):
raiseTypeErrorr=int(math.floor(math.sqrt(num)))
exceptTypeError:
print('不是一个有效整数')
returnNone# 如果不是有效的整数,返回Noneifnum==1:
returnFalse# 1不是整数,返回Falseforiinrange(2, r+1):
ifnum%i==0:    # 判断一个数是否能被某数整除returnFalsereturnTruedefmain():
x=eval(input("请输入:"))
print(isPrime(x))
main()

它运行的结果是:

请输入:5True

【填空7-2】编写程序,根据给定的折扣率,计算打折后的实际应付金额。请在代码中横线处补充。

deffun(discount):
globalpriceprice=price*discountprice=eval(input("请输入打折前的金额:"))     # price是全局变量fun(0.8)
print("打折后的金额:", price)

它运行的结果是:

请输入打折前的金额:100打折后的金额:80.0

2、程序编程

【编程7-1】排序算法

排序算法是一类经典算法,包括了多种不同的排序方法,冒泡排序法是最基本的一种。编写函数实现冒泡排序算法,主程序提供初始数据、调用排序函数、输出排序后数据。

defbubble_sort(array):
foriinrange(1, len(array)):
forjinrange(0, len(array) -i):
ifarray[j] >array[j+1]:
array[j], array[j+1] =array[j+1], array[j]
returnarrayif__name__=='__main__':
array= [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]
print(bubble_sort(array))

它运行的结果是:

[5, 7, 10, 15, 17, 21, 24, 27, 30, 36, 45, 50]

五、最后我想说

有关函数定义与调用实验就到这里结束了,内容比较少,下一个实验就是函数的递归实验,后面我也会及时更新的,本期实验最后的冒泡排序实现过程需要重点看看,是常考点也是经常会用到的排序算法之一。

Python函数的运用很重要,大家还可以去刷一下其他的题目来继续巩固一下基础知识。

目录
相关文章
|
7天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
|
5天前
|
算法 程序员 开发工具
百万级Python讲师又一力作!Python编程轻松进阶,豆瓣评分8.1
在学习Python的旅程中你是否正在“绝望的沙漠”里徘徊? 学完基础教程的你,是否还在为选择什么学习资料犹豫不决,不知从何入手,提高自己?
|
3天前
|
数据采集 存储 人工智能
掌握Python编程:从基础到进阶的实用指南
【8月更文挑战第17天】 本文旨在通过浅显易懂的语言和实际案例,为初学者和有一定基础的开发者提供一条清晰的Python学习路径。我们将从Python的基本语法入手,逐步深入到面向对象编程、数据科学应用及网络爬虫开发等高级主题。每个部分都配备了代码示例和实操建议,确保读者能够将理论知识转化为实际能力。无论你是编程新手,还是希望提升Python技能的开发者,这篇文章都将为你打开一扇通往高效编程世界的大门。
7 2
|
8天前
|
Python
python Process 多进程编程
python Process 多进程编程
19 1
|
12天前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【8月更文挑战第8天】Python是一种高级、解释型语言,以简洁的语法和强大的功能广受好评。本文从基本语法入手,强调Python独特的缩进规则,展示清晰的代码结构。接着介绍了Python的主要数据类型,包括数值、字符串、列表、元组、集合和字典,并提供了示例代码。通过这些基础知识的学习,你将为深入探索Python及其在文本处理、数据分析等领域的应用打下坚实的基础。
26 3
|
14天前
|
Python
揭秘!Python系统编程里那些让代码自由穿梭的神奇代码行
【8月更文挑战第6天】在Python编程中,一些简洁有力的代码构造让程序更加灵动高效。列表推导式能一行生成列表,如`squares = [x**2 for x in range(10)]`。`with`语句确保资源自动释放,例`with open('example.txt', 'r') as file:`。`lambda`函数便于快速定义小函数,`map(lambda x: x + 1, numbers)`即可完成列表映射。
28 4
|
14天前
|
API C语言 开发者
Python如何成为跨平台编程的超级巨星:系统调用深度探索
【8月更文挑战第6天】Python凭借简洁的语法和强大的库支持,在编程领域中脱颖而出。其跨平台特性是基于CPython等解释器的设计理念,使得Python程序能在不同操作系统上运行而无需修改代码。Python标准库提供的抽象层隐藏了系统间的差异,加之ctypes等扩展机制,使开发者能高效地编写兼容性强且性能优异的应用。例如,在Windows上利用ctypes调用GetSystemTime系统API获取当前时间,展现了Python深入系统底层的强大能力和灵活性。随着技术演进,Python将继续巩固其作为首选编程语言的地位。
19 3
|
7天前
|
并行计算 开发者 Python
解锁Python多进程编程的超能力:并行计算的魔法与奇迹,探索处理器核心的秘密,让程序性能飞跃!
【8月更文挑战第12天】在Python编程领域,多进程编程是一项关键技能,能有效提升程序效率。本文通过理论与实践结合,深入浅出地介绍了Python中的多进程编程。首先解释了多进程的概念:即操作系统中能够并发执行的多个独立单元,进而提高整体性能。接着重点介绍了`multiprocessing`模块,演示了如何创建和启动进程,以及进程间的通信方式,如队列等。此外,还提到了更高级的功能,例如进程池管理和同步原语等。通过这些实例,读者能更好地理解如何在实际项目中利用多核处理器的优势,同时注意进程间通信和同步等问题,确保程序稳定高效运行。
20 0
|
8天前
|
存储 Python 容器
"解锁编程奇迹,Python基础入门:一剑在手,编程江湖任你遨游,从零到英雄的超燃蜕变之旅!"
【8月更文挑战第12天】编程曾被视为复杂的技能,Python却让其变得异常亲和简单。作为优雅且强大的语言,Python以简洁的语法、丰富的库支持及广泛的应用领域,成为初学者首选。本文将引导你开启Python学习之旅,通过基础概念与示例代码,让你领略编程魅力。
22 0
|
14天前
|
Linux 数据安全/隐私保护 iOS开发
从入门到精通:Python 系统编程中的跨平台兼容性攻略
【8月更文挑战第6天】在编程领域,Python 以简洁强大著称。系统编程时,确保代码能在不同平台(如 Windows、Linux 和 macOS)上良好运行至关重要。本文探讨 Python 跨平台兼容性的关键点,帮助理解各系统间的差异,例如文件路径、权限管理和进程控制的不同。通过使用 `os` 和 `subprocess` 模块,可以编写出既灵活又兼容的代码。例如,使用 `os.path.join()` 处理路径差异,`subprocess.run()` 进行进程管理。此外,还需关注环境变量和权限管理等方面的平台特性。掌握这些技巧,您将能更自信地开发跨平台的系统程序。
42 0