Python程序设计 函数(三)

news2024/12/26 3:02:32

练习十一 函数

第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)

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

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

相关文章

c 双向链表

图片 #include <stdio.h> #include <stdlib.h> #include <string.h>int main(void){ struct film{char name[20];int id;struct film *pre; //前向指针struct film *next; //后向指针 };struct film *headNULL;struct film *ls,*lspre,*work;in…

微信小程序16: 组件通信

父子组件之间的通信 父子组件通信一共有三种方式 属性绑定 用于父组件向子组件的指定属性设置数据&#xff0c;仅能设置JSON兼容的数据 事件绑定 用于子组件向父组件传递数据&#xff0c;可以传递任意数据 获取组件实例 父组件还可以通过this.selectComponent()获取子组件的实…

【C++】:模板初阶

目录 一&#xff0c;泛型编程二&#xff0c;函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 三&#xff0c;类模板3.1 类模板的定义格式3.2 类模板的实例化 一&#xff0c;泛型编程 在C语言中如何实现一个通用的交换…

在Leaflet中点对象使用SVG和Canvas两种模式的对比

目录 前言 一、关于SVG和Canvas 1、SVG知识 2、Canvas知识 3、优缺点 二、SVG和Canvas在Leaflet的使用 1、相关类图 2、Leaflet的默认展示方式 三、SVG和Canvas实例及性能对比 1、SVG模式及性能对比 2、Canvas优化 总结 前言 众所周知&#xff0c;在Leaflet当中&#…

我独自升级下载 我独自升级崛起一键下载安装

近期&#xff0c;动画《我独自升级》凭借其高涨的人气&#xff0c;迅速席卷了各大平台&#xff0c;其热度非凡。乘着这股风潮&#xff0c;韩国知名厂商网石集团火速推出了同名游戏力作《我独自升级&#xff1a;ARISE》&#xff0c;让众多粉丝得以跨越次元壁垒&#xff0c;亲自投…

批量图片重命名及汇总

又一堆图片文件需要处理... 源文件分布&#xff1a; 有N个文件夹&#xff0c;每个文件夹下又有M个子文件夹&#xff0c;每个子文件夹下有X张图片。 例如文件夹A下有子文件夹A1,A2,A3&#xff0c;子文件夹A1下有图片a-1,a-2,a-3...... 处理目标&#xff1a; 1、将所有图片汇…

qt开发解压缩zip文件实现

作者开发环境&#xff1a;Qt5.8 &#xff0c;win10 总体思路&#xff1a;首先我们编译zip源码&#xff0c;生成zip的动态库&#xff1b;然后再编译quazip源码&#xff0c;得到quazip的动态库&#xff1b;最后在我们的程序中去调用。 详细步骤&#xff1a; 1、编译zlib zlib…

HackMyVM-Slowman

目录 信息收集 arp nmap whatweb WEB web信息收集 gobuster FTP匿名登录 hydra mysql爆破 mysql登录 fcrackzip爆破 hashcat爆破 ssh登录 提权 系统信息收集 python Capabilities提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interf…

有哪些渠道找到海外代理IP服务?

在今天的全球化时代&#xff0c;许多企业和个人都需要跨越国界&#xff0c;与世界各地的资源、信息和市场进行连接。海外代理IP服务成跨境在线业务增效的重要的工具&#xff0c;可以帮助拓展业务宽度&#xff0c;以实现更多样化的业务需求。但是&#xff0c;如何找到合适、安全…

华为数据之道第四部分导读

目录 导读 第四部分 第10章 未来已来&#xff1a;数据成为企业核心竞争力 数据&#xff1a;新的生产要素 数据被列为生产要素&#xff1a;制度层面的肯定 数据将进入企业的资产负债表 数据资产的价值由市场决定 大规模数据交互的企业数据生态 数据生态离不开底层技术的…

STM32使用ADC单/多通道检测数据

文章目录 1. STM32单片机ADC功能详解 2. AD单通道 2.1 初始化 2.2 ADC.c 2.3 ADC.h 2.4 main.c 3. AD多通道 3.1 ADC.c 3.2 ADC.h 3.3 main.c 3.4 完整工程文件 1. STM32单片机ADC功能详解 STM32单片机ADC功能详解 2. AD单通道 这个代码实现通过ADC功能采集三脚电…

回答篇:测试开发高频面试题目

引用之前文章&#xff1a;《测试开发高频面试题目》 https://blog.csdn.net/qq_41214208/article/details/138193469?spm1001.2014.3001.5502 本篇文章是回答篇&#xff08;持续更新中&#xff09; 1. 什么是测试开发以及其在软件开发流程中的作用。 a. 测试开发是指测试人员或…

MySQL LRU算法(冷热数据分离)

背景 MySQL中使用的InnoDB存储引擎采用了一种特别的最近最少使用&#xff08;LRU, Least Recently Used&#xff09;算法来管理其Buffer Pool中的页&#xff08;包括数据页和索引页&#xff09;。Buffer Pool是InnoDB用来缓存数据&#xff0c;以减少磁盘I/O操作的内存区域。正…

Kafk设计篇01(设计动机+持久化)

背景 本篇文章基于最新版本&#xff1a;kafka 3.7&#xff0c;其他版本的设计&#xff0c;请参考官网&#xff1a; https://kafka.apache.org/documentation/设计动机 任何组件都有它存在的必要&#xff0c;必然是要解决某一类问题的。我们来看看kafka设计的初衷如何。 kaf…

ICLR 2024 杰出论文奖揭晓!两篇国内论文获荣誉提名

国际学习表征会议&#xff08; International Conference on Learning Representations&#xff0c;简称ICLR&#xff09;&#xff0c;于5月7日至11日在奥地利维也纳展览会议中心举行。 ICLR与NeurIPS&#xff08;Conference on Neural Information Processing Systems&#x…

[笔试训练](十六)

目录 046:字符串替换 047:神奇数 048:DNA序列 046:字符串替换 字符串替换_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 简单模拟题~ class StringFormat { public:string formatString(string str, int n, vector<char> arg, int m) {strin…

紫外激光打标机适合在哪些材料表面进行标记

紫外激光打标机适合在多种材料表面进行标记&#xff0c;特别是那些对热敏感或者需要高精度、高清晰度标记的材料。以下是一些常见的适用材料&#xff1a; 1. 塑料&#xff1a;紫外激光打标机在塑料材料上表现尤为出色&#xff0c;因为紫外激光的短波长和高能量密度使得它能够在…

Konga域名配置多个路由

云原生API网关-Kong部署与konga基本使用 Nginx server{listen 443 ssl;location / {proxy_pass http://127.0.0.1:8100;}location /openApi {proxy_pass http://172.31.233.35:7100/openApi;} } Kong {"id": "f880b21c-f7e0-43d7-a2a9-221fe86d9231&q…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Dial的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 输入类控件 | Dial的使用及说明 文章编号&#xff1a;Qt…

ios苹果App上架到应用商店的操作流程

哈喽&#xff0c;大家好呀&#xff0c;淼淼又来和大家见面啦&#xff0c;发现最近有许多想要上架App的小伙伴&#xff0c;但是又不知道要怎么操作&#xff0c;对于开发者而言&#xff0c;将精心打造的iOS应用程序成功上架到苹果的 App Store 是向全球用户展示咱们的产品和服务的…