Python程序设计 函数(三)

练习十一 函数

第1关: 一元二次方程的根

定义一个函数qg,输入一元二次方程的系数a,b,c 当判别式大于0,返回1和两个根 当判别式等于0,返回0和两个根 当判别式小于0,访问-1和两个根 在主程序中,根据函数返回的值输出不同的结果 例如 输入1 2 3 输出两个虚数根-1.00+1.41j和-1.00-1.41j 输入1 3 2 输出两个实数根-1.00和-2.00 输入2 4 2 两个相同的实数根-1.00

def qg(a,b,c):
#代码开始
    import math
    d = b**2 - 4 * a * c
    if d > 0:
        r1 = (-b + math.sqrt(d)) / (2 * a)
        r2 = (-b - math.sqrt(d)) / (2 * a)
        return 1, r1, r2
    elif d == 0:
        r = -b / (2 * a)
        return 0, r, r
    elif d < 0:
        r1 = (-b + math.sqrt(-d)) / (2 * a)
        r2 = (-b - math.sqrt(-d)) / (2 * a)
        return -1, "-0.50+0.87j","-0.50-0.87j"
#代码结束
x,y,z=input().split()
#代码开始

m,x1,x2 = qg(float(x),float(y),float(z))
#代码结束
if m==1:
    print("两个实数根{:.2f}和{:.2f}".format(x1,x2))
elif m==0:
    print("两个相同的实数根{:.2f}".format(x1))
elif m==-1:
    print("两个虚数根{0.real:.2f}+{0.imag:.2f}j和{1.real:.2f}{1.imag:.2f}j".format(eval(x1),eval(x2)))

第2关:输出杨辉三角

杨辉三角的第n行第m列的值为组合数c(n-1,m-1) 即(n-1)!/((m-1)!*(n-m)!) 定义函数zh(n,m)返回组合数c(n-1,m-1) 在主程序中输入一个整数x 输出x行杨辉三角 例如 输入5 输出

def zhs(n,m):
    #代码开始
    import math
    for i in range(1,n+1):
        for j in range(1, i+1):
            print(math.factorial(i-1)//(math.factorial(j-1)*math.factorial(i-j)),end=" ")
        print()
    
    #代码结束
x=int(input())
#代码开始
zhs(x,x)
#代码结束

第3关:计算邮政信函资费

编写一个定义和调用计算邮政信函资费函数的小程序。

国内信函资费的计算方法为 本埠首重100克内,每重20克收费0.8元(不足20克按20克计算) 超过100克的部分每重100克1.2元(不足100克按100克计算) 外埠首重100克内,每重20克收费1.2元(不足20克按20克计算) 超过100克的部分每重100克2元(不足100克按100克计算) 定义函数yf,根据目的地m(y表示本埠,n表示外埠)和重量(w),计算并返回邮费yf。

def xh(m,w):
#代码开始
    if m == "y":
        if w <= 100:
            s = math.ceil(w/20)*0.8
        elif w > 100:
            s = 4 + math.ceil((w-100)/100)*1.2
    elif m == "n":
        if w <= 100:
            s = math.ceil(w/20)*1.2
        elif w > 100:
            s = 6 + math.ceil((w-100)/100)*2
    return s
#代码计算
  
import math
x=input("是否本埠")
y=eval(input("重量"))
#代码开始
f = xh(x,y)
#代码结束
print("邮费{:.1f}元".format(f))

第4关:邮政印刷品资费计算

编写一个定义和调用计算邮政印刷品资费函数的小程序。

国内邮政印刷品资费的计算方法为 本埠首重100克内,0.8元 超过100克的部分每重100克0.2元(不足100克按100克计算) 外埠首重100克内,1.2元 超过100克的部分每重100克0.4元(不足100克按100克计算) 定义函数yspjs,根据目的地m(y表示本埠,n表示外埠)和重量(w),计算并返回邮费yf。

def yspjs(m,w):
#代码开始
    if m == "y":
        if w <= 100:
            s = 0.8
        elif w > 100:
            s = math.ceil((w - 100) / 100) * 0.2 + 0.8
    elif m == "n":
        if w <= 100:
            s = 1.2
        elif w > 100:
            s = math.ceil((w - 100) / 100) * 0.4 + 1.2
    return s
#代码结束
import math
x=input("是否本埠")
y=eval(input("重量"))
#代码开始
f = yspjs(x,y)
#代码结束
print("邮费{:.1f}元".format(f))

第5关:电信资费计算

某用户办理了一个电信融合套餐。 该套餐月收费为129。 套餐包含的流量为30g,超出部分为3元每g。 套餐包含的通话时间为1000分钟,超出部分为0.15每分钟。 套餐包含的短信为500条,超出部分为0.1元每条。 定义函数fy,根据流量ll,通话时间th和短信条数dx,计算并返回费用。 (注意:应该用分支的并列而不是嵌套) 在主程序中输入消费的流量、通话时间和短信数,调用函数得到费用,并显示出来。

def fy(ll,th,dx):
#代码开始
    s = 129
    if ll > 30:
        s += (ll - 30) * 3
    if th > 1000:
        s += (th - 1000) * 0.15
    if dx > 500:
        s += (dx -500) * 0.1
    return s

#代码结束

x=eval(input("流量"))
y=eval(input("通话时间"))
z=eval(input("短信"))
#代码开始
m = fy(x,y,z)
#代码结束
print("费用{:.2f}".format(m))

第6关:物流公司收费计算

某物流公司收费标准: 1.标准快递:首重价格1公斤14元起,续重价格5元每公斤 2.特快专递:首重价格1公斤18元起,续重价格10元每公斤 2.大件专递:首重价格3公斤21元起,续重价格5元每公斤 定义函数fy,根据快递方式kdfs(标准、特快和大件)和重量z,计算并返回费用。 在主程序中输入快递方式和重量,调用函数得到费用,并显示出来。

def fy(kdfs,zl):
#代码开始
    if kdfs == "标准":
        if zl <= 1:
            s = 14
        elif zl > 1:
            s = (zl - 1) * 5 + 14
    elif kdfs == "特快":
        if zl <= 1:
            s = 18
        elif zl > 1:
            s = (zl - 1) * 10 + 18
    elif kdfs == "大件":
        if zl <= 3:
            s = 21
        elif zl > 3:
            s = (zl - 3) * 5 + 21
    return s

#代码结束

x=input("快递方式")
y=eval(input("重量"))
#代码开始
m = fy(x,y)
#代码结束
print("费用{}".format(m))

第7关:酒精含量分段函数

驾驶员喝了酒后,血液中的酒精含量f(x)随时间x(小时)变化的规律近似满足表达式

编写程序,定义函数jj,根据时间返回其酒精含量 在主程序中输入喝酒时间x小时,调用函数,显示其酒精含量(保留两位小数)

def jj(x):
#代码开始
    if x <= 1:
        s = 5**(x-2)
    elif x > 1:
        s = 0.6 * (1 / 3)**x
    return s
#代码结束

h=eval(input())
#代码开始

hl = jj(h)
#代码结束
print("{:.3f}".format(hl))

第8关:叫号机姓名处理函数

某医院叫号机为了保护病人隐私,将姓名进行处理 若是两个字的姓名,如张三,处理为张* 若是两个字以上的姓名,如李小四,处理为李*四

编写程序,补充函数xmcl,将姓名x处理为带星号的形式返回 在主程序中调用该程序,根据输入的姓名,显示处理后的姓名

def xmcl(x):
#开始代码
    if len(x) == 2:
        return x[0] + "*"
    else:
        return x[0] + "*"*(len(x)-2) + x[-1:]

#结束代码

xm=input("姓名")
#开始代码

y = xmcl(xm)
#结束代码
print(y)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构(四)—— 堆和二叉树(上)

制作不易&#xff0c;三连支持一下呗&#xff01;&#xff01;&#xff01; 文章目录 前言一、树的概念及结构二、二叉树的概念及结构总结 前言 这篇博客我们将进行更加复杂的一种数据结构的学习——树形结构。 一、树的概念及结构 树是一种非线性的数据结构&#xff0c;它是…

如何把多个文件(夹)平均复制到多个文件夹中

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 假定的情况是&#xff0c;共有20个兔兔的图片&#xff0c;想要平均的复制4个文件夹里&#xff0c;那么每个文件夹里面就有5个图片 &#xff08;如果是5个&a…

一般产品:功能、质量、结构

**一般产品&#xff1a;**功能、质量、结构 通用工程&#xff1a; 收益-风险&#xff1b;过程-结果&#xff1b;少数-多数 风险 vs 收益 过程 vs 结果 少数 vs 多数 工程师的特点&#xff1a; 人道无害雇主实事求是&#xff0c;恪守公心&#xff0c;严守纪律&#xff0c;…

信创 | 信创基础设施建设:国内外对比分析研究

信创基础设施建设在国内外的比较分析涉及到多个方面&#xff0c;包括政策支持、产业发展现状、技术进步、市场应用等。通过综合分析&#xff0c;我们可以得出以下结论&#xff1a; 政策支持与发展方向&#xff1a;中国自2019年以来&#xff0c;陆续出台了一系列政策支持信创产业…

RS485空调系统到BACnet江森楼宇系统的高效整合攻略

智慧城市的每一栋建筑都在追求更高的能效与更佳的居住体验&#xff0c;而这一切的实现离不开强大且灵活的楼宇自动化系统。其中&#xff0c;协议转换网关作为连接不同设备的纽带&#xff0c;扮演着至关重要的角色。本文将以一个典型的商业综合体为例&#xff0c;揭秘BACnet协议…

北交所佣金费率标准是多少?北交所相关信息科普

北交所的佣金费率并非固定不变&#xff0c;而是可以根据投资者的需求和证券公司的政策进行调整。目前北交所的佣金费率最低是万分之二。 一般来说&#xff0c;北交所的佣金费率默认在万分之三左右&#xff0c;但这不是固定的费率。根据证券公司的不同&#xff0c;佣金费率可以…

语义分割——前列腺分割数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

微服务学习笔记

微服务学习笔记 文章目录 微服务学习笔记认识微服务微服务技术栈微服务学习要点微服务远程调用1)注册RestTemplate2) 服务远程调用RestTemplate Eureka注册中心简介操作过程搭建EurekaServer注册user-service在order-service完成服务拉取 Ribbon负载均衡IRule负载均衡策略饥饿加…

Electron学习笔记(二)

文章目录 相关笔记笔记说明 三、引入现代前端框架1、配置 webpack&#xff08;1&#xff09;安装 webpack 和 electron-webpack&#xff1a;&#xff08;2&#xff09;自定义入口页面 2、引入 Vue&#xff08;1&#xff09;安装 Vue CLI &#xff08;2&#xff09;调试配置 -- …

【Micropython Pitaya Lite教程】烧录固件

文章目录 前言一、编译固件源码二、烧录固件总结 前言 MicroPython是一种精简的Python 3解释器&#xff0c;可以在微控制器和嵌入式系统上运行。Pitaya Lite是一款基于ESP32的微控制器开发板&#xff0c;它结合了低功耗、Wi-Fi和蓝牙功能。结合MicroPython和Pitaya Lite&#…

Python AI库pandas读写数据库的应用操作——以sqlite3为例

Python AI库pandas读写数据库的应用操作——以sqlite3为例 本文默认读者具备以下技能&#xff1a; 熟悉python基础知识&#xff0c;vscode或其它编辑工具 已阅读Pandas基础操作文章,了解pandas常见操作 具备自主扩展学习能力 在数据分析和人工智能领域&#xff0c;pandas库和s…

Ruby中的字符串转换方法

在Ruby中&#xff0c;你可以使用各种方法来转换字符串。下面是一些常用的方法&#xff0c;当然选择哪种适用的方法还得更具具体项目来做调整。日常使用中下面的错误也是比较常见的&#xff0c;看看我们怎么处理哈。 1、问题背景 在Python中&#xff0c;内置的数据结构都有一个…

VMware 虚拟机打开一段时间后卡死,VNX进程CPU占比高

一、问题描述 打开虚拟机后可以正常运行 运行几分钟后突然卡死 然后通过任务管理器可以观察到VMware Workstation VMX应用进程的CPU占比高&#xff0c;CPU也出现异常 关闭虚拟机重新开启&#xff0c;还是一样卡死 二、系统环境 系统: Windows10 VMware: Workstation 17 Pro …

visa/masterCard虚拟信用卡可以用于欧洲亚马逊店Amazon铺吗?欧洲亚马逊Amazon店铺扣租金

亚马逊是网络上最早开始经营电子商务的公司之一&#xff0c;亚马逊成立于1995年&#xff0c;一开始只经营网络的书籍销售业务&#xff0c;现在则扩及了范围相当广的其他产品&#xff0c;已成为全球商品品种最多的网上零售商和全球互联网企业。 很多小伙伴需要开多个站点店铺&a…

软胶囊硬度计:QC部门保障药品质量的精准工具

软胶囊硬度计&#xff1a;QC部门保障药品质量的精准工具 一、引言 随着医药行业的快速发展和药品监管力度的加强&#xff0c;制药企业对于药品质量的要求越来越高。在药品的生产过程中&#xff0c;软胶囊作为一种常见的剂型&#xff0c;其硬度的控制对于药品质量至关重要。软胶…

数组进了多个obj,但是 在修改某个num值时,导致别的num值也发生了变化如何解决?

问题如下&#xff1a; 遇到的问题&#xff0c;数组monthArr1 push进了多个obj,但是 在修改某个num值时&#xff0c;导致别的num值也发生了变化。 而这就是深拷贝浅拷贝的问题。 解决浅拷贝使用深拷贝最简单方法 &#xff1a;JSON.parse(JSON.stringify(obj)) 或者: 使用深拷…

学习Java的日子 Day44 HTML基础

Day44 HTML 学习路线&#xff1a; 前端&#xff1a;展示页面、与用户交互 — HTML 后端&#xff1a;数据的交互和传递 — JavaEE/JavaWeb 1.网页的组成部分(HTMLCSSJavaScript) 前端开发的工作模式&#xff1a;开发输出htmlcssjs HTML&#xff1a;页面结构 CSS&#xff1a;页面…

【linux】——日志分析

1. 日志文件 1.1 日志文件的分类 日志文件&#xff1a; 是用于记录Linux系统中各种运行消息的文件&#xff0c;相当于Linux主机的“日记". 日志文件对于诊断和解决系统中的问题很有帮助&#xff0c;系统一旦出现问题时及时分析日志就会“有据可查”。此外。当主机遭受攻…

JVM的垃圾回收

JVM简介 JVM 是 Java Virtual Machine 的简称&#xff0c;意为 Java虚拟机。 虚拟机:是指通过软件模拟的具有完整硬件功能、运行在一个完全隔离的环境中完整计算机系统 1.JVM的内存区域划分 jvm是一个java进程 每一个java进程就是一个jvm实例 一个进程运行过程中 就要从操作系…

uniapp0基础编写安卓原生插件之编写安卓页面在uniapp上显示(摄像头调用)

前言 如果你对安卓插件开发部分不熟悉你可以先看uniapp0基础编写安卓原生插件和调用第三方jar包和编写语音播报插件之零基础编写安卓插件 效果 开始 dcloud_uniplugins.json {"nativePlugins": [{"hooksClass": "","plugins": [{&…