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

文章目录

  • Python编程基础:实验5——函数定义与调用
    • 一、前言
    • 二、我的环境
    • 三、实验目的与要求
    • 四、实验任务
      • 1、程序填空
      • 2、程序编程
    • 五、最后我想说

一、前言

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

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

二、我的环境

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

三、实验目的与要求

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

四、实验任务

1、程序填空

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

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

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

import math
def isPrime(num):try:if type(num) == type(0.):raise TypeErrorr = int(math.floor(math.sqrt(num)))except TypeError:print('不是一个有效整数')return None    # 如果不是有效的整数,返回Noneif num == 1:return False    # 1不是整数,返回Falsefor i in range(2, r + 1):if num % i == 0:    # 判断一个数是否能被某数整除return Falsereturn True
def main():x = eval(input("请输入:"))print(isPrime(x))
main()

它运行的结果是:

请输入:5
True

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

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

它运行的结果是:

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

2、程序编程

【编程7-1】排序算法

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

def bubble_sort(array):for i in range(1, len(array)):for j in range(0, len(array) - i):if array[j] > array[j + 1]:array[j], array[j + 1] = array[j + 1], array[j]return arrayif __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函数的运用很重要,大家还可以去刷一下其他的题目来继续巩固一下基础知识。

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

  1. 实验八——函数定义及调用总结

    1.本次课学习到的知识点: (1)学习了数字金字塔.pyramid ()函数功能,函数定义时,形参n决定数字金字塔的层数: (2)不返回结果的函数定义: (3)复数运算: c1=x1+(y1) i,c ...

  2. 实验七——函数定义及调用总结

    知识点: 1.函数是一个完成特定工作的独立程序模块包括库函数和自定义函数 2.scanf printf 等为库函数.Cylinder fact 为自定义函数 3.函数首部:函数类型 函数名(形式参数表 ...

  3. Python编程基础12:函数和模块

    文章目录 一.函数和模块概述 (一)函数概述 (二)模块概述 1.sys模块 2.os模块 3.math模块 4.random模块 二.函数 (一)定义函数 1.语法格式 2.函数类型 3.案例演示 ...

  4. python财务编程_Python笔记 财务小白的 day4 python编程基础(2)

    [本文的我,是一个文科财务工作者.在单位信息化全靠人做的年代,确实工作压力大也忙不过来.9102年的我,深感不学习点新知识迟早要被淘汰.所以今天开始记录自己的python小白笔记,各位见笑.] 编程基 ...

  5. 6-3 定义并实现Book类及其__del__函数(高教社,《Python编程基础及应用》习题9-4)

    图书馆里有很多的书, 请定义一个名为Book的类.该类的属性包括书名(字符串),书号(字符串),单价(浮点数):该类的构造函数接受书名,书号及单价三个参数并参成对象初始化:该类的__del__()函数 ...

  6. Python编程基础:函数的使用

    Python编程基础:函数的使用 文章目录 Python编程基础:函数的使用 一.前言 二.我的环境 三.函数的定义与调用 四.传递实参 1.位置实参 2.关键字实参 3.默认值 4.可变长度参数 5 ...

  7. python程序设计实验指导书第1版实验三十四_《python编程基础》实验指导书.doc

    <python编程基础>实验指导书 PAGE 南 阳 理 工 学 院 <python编程基础>实验指导书 (2014版) 软件学院·软件工程教研室 2011.3 目录 TOC ...

  8. python实验指导书答案_《python编程基础》实验指导书.doc

    PAGE 南 阳 理 工 学 院 <python编程基础>实验指导书 (2014版) 软件学院·软件工程教研室 2011.3 目录 TOC \o "1-1" \u 目录 ...

  9. 6-1 编写函数计算一个或不特定多个数的乘积(高教社,《Python编程基础及应用》习题8-6)分数 5

    编写函数计算一个或不特定多个数的乘积(高教社,<Python编程基础及应用>习题8-6) 函数接口定义: defcaculate(*t) 打*号的参数t接受多个参数成员,参数成员预期为整数 ...

最新文章

  1. 微众银行AI团队开源联邦学习框架,并发布《联邦学习白皮书1.0》
  2. Gartner 2015新兴技术发展周期简评:大数据实用化、机器学习崛起
  3. C++STL的vector中front(),back(),begin(),end()的用法
  4. django 日志配置
  5. [基础]PeopleSoft中的作业和调度作业集合定义
  6. Apache JMeter 菜单说明
  7. likeshop100%开源免费商用电商系统,PC商城、H5商城、小程序商城、安卓APP商城、苹果APP商城全部100%开源,免费商用
  8. 公司来的新同事能力没我强,但是工资比我高,我应该提出加薪还是选择辞职?
  9. 雷军:避开阿里、绕过腾讯,只为开辟小米新战场!
  10. docker安装(2018-03-14版本)
  11. Android 属性动画(一)
  12. 基于SSM的驾校网站
  13. 易语言网页html代码大全,易语言网页操作取网页源码
  14. SWAT模型学习(三)
  15. Window下MySQL 8.0重新设置密码
  16. 树莓派驱动数码管c 语言,用树莓派驱动八段数码管实现倒计时
  17. Vue中video播放m3u8视频
  18. 06-CSS盒模型详解
  19. 在测试tensorBroad中在运行mnist_with_summaries.py时URLError:urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答
  20. 五一游天坛,体验超震撼的大像素全景

热门文章

  1. collectionsCollection
  2. java printwriter 文件_关于java:如何将PrintWriter转换为String或写入文件?
  3. 一位程序员工作10年总结的13个忠告,却让很多人惋惜
  4. Python 低功耗蓝牙搜索与连接
  5. linux find 排除目录,linux find命令忽略目录的查找方法
  6. js控制div滚动条的显示/隐藏
  7. 怎么找客户线索?怎样让客户线索更准确?
  8. 是德E3648A 双路输出电源技术参数
  9. 央视专访巴菲特:投资股票其实就是投资公司
  10. 线上线下O2O模式为什么会这么火呢?