创建模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

在Python中,自定义模块有两个作用:一个是规范代码,让代码更易于阅读,另一个是方便其他程序使用已经编写好的代码,提高开发效率。

实现自定义模块主要分为两部分,一部分是创建模块,另一部分是导入模块。

创建模块时,可以将模块中相关的代码(变量定义和函数定义等)编写在一个单独的文件中,并且将该文件命名为“模块名+.py”的形式。

注意:创建模块时,设置的模块名不能是Python自带的标准模块名称。

下面通过一个具体的实例演示如何创建模块。

图标 (35)

  实例01  创建计算BMI指数的模块

创建一个用于根据身高、体重计算BMI指数的模块,命名为bmi.py,其中bmi为模块名,.py为扩展名。代码如下:

def fun_bmi(person,height,weight):

    '''功能:根据身高和体重计算BMI指数

       person:姓名

       height:身高,单位:米

       weight:体重,单位:千克

    '''

    print(person + "的身高:" + str(height) + "米 \t 体重:" + str(weight) + "千克")

    bmi=weight/(height*height)               # 用于计算BMI指数,公式为:BMI=体重/身高的平方

    print(person + "的BMI指数为:"+str(bmi))      # 输出BMI指数

    # 判断身材是否合理

    if bmi < 18.5:

        print("您的体重过轻 ~@_@~\n")

    if bmi >= 18.5 and bmi < 24.9:

        print("正常范围,注意保持 (-_-)\n")

    if bmi >= 24.9 and bmi < 29.9:

        print("您的体重过重 ~@_@~\n")

    if bmi >= 29.9:

        print("肥胖 ^@_@^\n")

def fun_bmi_upgrade(*person):

    '''功能:根据身高和体重计算BMI指数(升级版)

       *person:可变参数该参数中需要传递带3个元素的列表,

       分别为姓名、身高(单位:米)和体重(单位:千克)

    '''

    for list_person in person:

        for item in list_person:

            person = item[0]  # 姓名

            height = item[1]  # 身高(单位:米)

            weight = item[2]  # 体重(单位:千克)

            print("\n" + "=" * 13, person, "=" * 13)

            print("身高:" + str(height) + "米 \t 体重:" + str(weight) + "千克")

            bmi = weight / (height * height)  # 用于计算BMI指数,公式为“体重/身高的平方”

            print("BMI指数:" + str(bmi))  # 输出BMI指数

            # 判断身材是否合理

            if bmi < 18.5:

                print("您的体重过轻 ~@_@~")

            if bmi >= 18.5 and bmi < 24.9:

                print("正常范围,注意保持 (-_-)")

            if bmi >= 24.9 and bmi < 29.9:

                print("您的体重过重 ~@_@~")

            if bmi >= 29.9:

                print("肥胖 ^@_@^")

注意:模块文件的扩展名必须是“.py”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORACLE创建dblink

dblink的作用 dblink数据库链接顾名思义就是数据库的链接&#xff0c;当我们要跨本地数据库&#xff0c;访问另外一个数据库表中的数据时&#xff0c;本地数据库中就必须要创建远程数据库的dblink&#xff0c;通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中…

Ubuntu22.04之解决:terminal使用alt+1/alt+2/alt+3失效问题(二百三十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

安卓玩机搞机技巧综合资源----电脑控制手机 投屏操控的软件工具操作步骤解析【二十二】

接上篇 安卓玩机搞机技巧综合资源------如何提取手机分区 小米机型代码分享等等 【一】 安卓玩机搞机技巧综合资源------开机英文提示解决dm-verity corruption your device is corrupt. 设备内部报错 AB分区等等【二】 安卓玩机搞机技巧综合资源------EROFS分区格式 小米红…

外发邮件监控的六种方法, 监控软件如何防止邮件泄密?

外发邮件监控的六种方法&#xff0c; 监控软件如何防止邮件泄密&#xff1f; 外发邮件监控是现代企业信息安全管理的重要组成部分&#xff0c;它有助于防止敏感信息泄露、保护知识产权、以及确保企业合规。以下是外发邮件监控的几种主要方法&#xff0c;这些方法结合使用可以为…

2024最新 Jenkins + Docker实战教程(八)- Jenkins实现集群并发构建

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

【Python Cookbook】S01E14 从字典中提取子集

目录 问题解决方案讨论 问题 如果我们想基于一个字典的子集创建另外一个字典&#xff0c;该如何做&#xff1f; 解决方案 利用 字典推导式 来解决问题&#xff1a; prices {ACME: 45.23,AAPL: 612.78,IBM: 205.55,HPQ: 37.20,FB: 10.75 }p1 {key:value for key, value in…

AI学习指南机器学习篇-逻辑回归损失函数和优化

AI学习指南机器学习篇-逻辑回归损失函数和优化 引言 在机器学习中&#xff0c;逻辑回归是一种常用的分类算法。在逻辑回归中&#xff0c;我们需要定义一个损失函数来衡量模型预测值与实际标签之间的误差&#xff0c;并且需要通过优化算法来最小化损失函数&#xff0c;从而得到…

群体优化算法----人工蜂群优化算法应用于路径规划(机器人避开平面障碍寻找最短路线)

介绍 人工蜂群优化算法&#xff08;Artificial Bee Colony Algorithm, ABC&#xff09;是由Dervis Karaboga在2005年提出的一种模拟蜜蜂觅食行为的优化算法。该算法基于蜜蜂群体的分工合作和信息交流机制&#xff0c;通过模拟蜜蜂寻找食物源的过程来解决优化问题。ABC算法因其…

netplan网络配置@ubuntu留档

ubuntu使用netplan进行网络配置&#xff0c;简单又方便。 配置的时候编辑/etc/netplan 目录里的文件即可&#xff0c;如00-installer-config.yaml文件。 固定ip配置 network:ethernets:enp0s5:dhcp4: noaddresses: [192.168.1.7/24]routes:- to: defaultvia: 192.168.1.1name…

手机和WINDOWS电脑蓝牙连接后怎样放歌,无法选择媒体音频 蓝牙媒体音频勾选不上

手机和电脑蓝牙连接后怎样放歌 要将手机通过蓝牙连接到电脑并播放音乐&#xff0c;可以按照以下步骤操作&#xff1a; 确保手机和电脑都支持蓝牙功能&#xff0c;并且蓝牙功能已经开启。 在电脑上&#xff0c;打开“设置”> “设备”> “蓝牙和其他设备”。 点击“添…

INT202 例题

算法复杂度 O(n)&#xff1a;表示算法的渐进上界。如果一个算法的运行时间是O(n)&#xff0c;那么它的运行时间最多与输入规模n成正比。换句话说&#xff0c;当输入规模n增加时&#xff0c;算法的运行时间不会超过某个常数倍的n。比如&#xff0c;如果一个算法的时间复杂度是O(…

打开常用C语言常用内存函数的大门 ——memcmp函数及其模拟实现(完结篇)

文章目录 1. 前言2. memcmp函数2.1 memcmp函数的原型2.2 memcmp的返回值2.2 memcmp的形参2.3 memcmp函数的使用 3. memcmp函数的模拟实现4. 总结 1. 前言 本文是C语言常用内存函数的最后一个函数 —— memcmp函数。 希望各位观众佬爷们能够学会并灵活的使用这四个常用的内存函…

平板显示LED背光芯片OC6700,输入3.6V~60V,升压型 LED 恒流驱动器

概述 OC6700是一款内置60V功率NMOS高效率、高精度的升压型大功率LED恒流驱动芯片。OC6700采用固定关断时间的控制方式&#xff0c;关断时间可通过外部电容进行调节&#xff0c;工作频率可根据用户要求而改变。OC6700通过调节外置的电流采样电阻&#xff0c;能控制高亮度LED灯的…

如何优化 Java 程序的性能?

优化 Java 程序的性能可以从多个方面入手&#xff0c;以下是一些常见的优化方法&#xff1a; 使用合适的数据结构&#xff1a;选择合适的数据结构可以提高程序的效率。例如&#xff0c;使用 HashMap 而不是 ArrayList 来存储大量的键值对数据。 减少对象的创建和销毁&#xff…

Kylin入门教程介绍

Kylin入门教程可以概括为以下几个主要步骤&#xff1a; 一、Apache Kylin简介 Apache Kylin是一个开源的分布式分析引擎&#xff0c;它提供Hadoop之上的SQL接口及多维分析&#xff08;OLAP&#xff09;能力&#xff0c;以支持超大规模数据。最初由eBay Inc.开发并贡献至开源社…

vue2组件封装+elementUI

1.VUE2图片上传封装 使用 <ImageUpload v-model"picUrl" :fileSize"0" getImg"getImg"></ImageUpload> 封装代码 <template><div class"component-upload-image"><el-uploadmultiple:action"uplo…

react 合成事件

React合成事件-CSDN博客 当然&#xff0c;很高兴为你解释React中的合成事件概念&#xff0c;非常适合React初学者理解。 想象一下&#xff0c;你正在组织一场派对&#xff0c;为了让派对顺利进行&#xff0c;你需要管理各种活动&#xff0c;比如游戏、音乐和食物分配。但是&a…

C语言之指针进阶(5),sizeof和strlen的数组计算以及指针运算笔试难题详解

目录 前言 一、sizeof和strlen 的区分比较 二、sizeof,strlen与数组的计算 三、指针运算&#xff0c;笔试难题解析 总结 前言 本文作为指针进阶的最后一篇文章&#xff0c;给大家带来了丰富的例题&#xff0c;这其中包括区分比较sizeof和strlen计算各种花样的数组指针表达式…

Redis的SDS数据结构解决C语言字符串缺陷

redis设计了SDS这一数据结构来表示字符串而不是使用c语言的字符串&#xff1a;字符数组 那么redis为什么要大费周章自己设计字符串呢&#xff1f; 答案是C语言字符串有缺陷 1.获取字符串长度&#xff0c;需要遍历字符数组&#xff0c;时间复杂度是O&#xff08;N&#xff09…

Springboot vue3 elementplus 景点评论数据分析与可视化系统源码

源码链接 系统演示:链接&#xff1a;https://pan.baidu.com/s/1J056R4rYji_mc4gwteZEzg?pwdnua4