IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python之多条件语句编程实训 python实训作业 -> 正文阅读

[Python知识库]Python之多条件语句编程实训 python实训作业

第1关:实现分段函数计算

本关必读

函数是一种特殊的映射,即数集到数集的映射。虽然本质上都是映射,但为了方便研究和应用,数学家们对函数做了很多分类,如线性函数,非线性函数,随机函数,还有一些具有特殊性质的函数等等。

本关我们要关注的是分段函数。所谓分段函数:即对于自变量x的不同取值范围,有着不同的对应法则,这样的函数通常叫做分段函数。

本关需要计算的分段函数参见下表:

xy
x<00
0<=x<5x
5<=x<103x-5
10<=x<200.5x-2
20<=x0

本关任务

本关任务是实现上述表格中分段函数的计算,即实现step1/SegFunctionCal.py文件中的SegFun(x)函数,SegFunctionCal.py文件的代码如下:

 
  1. # -*- coding:utf-8 -*-
  2. # 计算分段函数的值
  3. def SegFun(x):
  4. # 请在此添加实现代码

其中:x是传递给函数SegFun的参数。

测试说明

本关的测试文件是step1/SegFunctionCalTest.py,负责对你写的实现代码进行测试。具体说明如下:

 
  1. # -*- coding:utf-8 -*-
  2. import SegFunctionCal,os
  3. # 从命令行读入一个整数
  4. # 这个整数取自测试集的输入
  5. x = int(input())
  6. print (SegFunctionCal.SegFun(x))

上述代码中所调用函数的参数从命令行读入,并将处理后的结果通过命令行输出。平台将根据这个命令行输出来判断SegFun(x)函数是否正确实现。注意,step1/SegFunctionCalTest.py的代码不能被修改。

以下是平台对step1.SegFunctionCalTest的测试样例: 测试输入:-3 预期输出:0

测试输入:2 预期输出:2

测试输入:8 预期输出:19

测试输入:15 预期输出:5.5

测试输入:100 预期输出:0

开始你的任务吧,祝你成功!

参考答案

# -*- coding:utf-8 -*-

#计算分段函数的值
def SegFun(x):
    # 请在此添加实现代码
    if x<0:
        return 0
    elif 0<=x<5:
        return x
    elif 5<=x<10:
        return 3*x-5
    elif 10<=x<20:
        return 0.5*x-2
    elif 20<=x:
        return 0
    return 0

第2关:根据输入的分数输出对应的等级

本关必读

一般情况下,对于学校而言评判一个学生成绩的好坏有两种方式:一种是百分制,如:90100、8089、7079、6069、0~59;而与百分制对应的另外一种方式则是等级,如:”A”、 ”B”、 ”C”、 ”D”、 ”E”。

那么在现实情况下经常会遇到百分制与等级之间转换的问题,本关正是这样一个问题,具体要求是:将分数转换成对应的等级。其中:

  • 学习成绩>=90分的同学用A表示;
  • 学习成绩间于60-89分之间的用B表示;
  • 学习成绩60分以下的用C表示。

本关任务

本关任务是根据输入的分数输出对应的等级,即实现step2/ScoreToGrade.py文件中的Grade(score)函数,ScoreToGrade.py文件的代码如下:

 
  1. # -*- coding:utf-8 -*-
  2. # 将分数转换为对应等级
  3. def Grade(score):
  4. # 请在此添加实现代码

其中:score是传递给函数Grade的参数。

测试说明

本关的测试文件是step2/ScoreToGradeTest.py,负责对你写的实现代码进行测试。具体说明如下:

 
  1. # -*- coding:utf-8 -*-
  2. import ScoreToGrade,os
  3. # 从命令行读入一个正整数
  4. # 这个整数取自测试集的输入
  5. score = int(input())
  6. print (ScoreToGrade.Grade(score))

上述代码中所调用函数的参数从命令行读入,并将处理后的结果通过命令行输出。平台将根据这个命令行输出来判断Grade(score)函数是否正确实现。注意,step2/ScoreToGradeTest.py的代码不能被修改。

以下是平台对step2.ScoreToGradeTest的测试样例: 测试输入:100 预期输出:A

测试输入:90 预期输出:A

测试输入:89 预期输出:B

测试输入:60 预期输出:B

测试输入:59 预期输出:C

测试输入:25 预期输出:C

开始你的任务吧,祝你成功!

参考答案

# -*- coding:utf-8 -*-

# 将分数转换为对应等级
def Grade(score):
    # 请在此添加实现代码
    if score>=90:
        return 'A'
    elif 60<=score<=89:
        return 'B'
    else:
        return 'C'

第3关:根据利润来计算应发放的奖金数

本关必读

通常情况下企业给员工发放奖金一般是参照企业获得的利润来进行规划的,本关需要同学们完成的就是一道根据企业利润来计算的奖金的题目,题目如下:

企业发放的奖金根据利润提成。

  • 当利润低于或等于10万元时,奖金可提10%
  • 当利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%
  • 当利润为20万40万之间时,高于20万元的部分,可提成5%
  • 当利润为40万60万之间时,高于40万元的部分,可提成3%
  • 当利润为60万100万之间时,高于60万元的部分,可提成1.5%
  • 当利润高于100万元时,超过100万元的部分按1%提成, 请根据利润来计算应发放奖金总数。

本关任务

本关任务是根据利润来计算应发放的奖金数,即实现step3/BonusOfProfit.py文件中的Bonus(x)函数,BonusOfProfit.py文件的代码如下:

 
  1. # -*- coding:utf-8 -*-
  2. # 将分数转换为对应等级
  3. def Bonus(x):
  4. # 请在此添加实现代码

其中:x是传递给函数Bonus的参数。

测试说明

本关的测试文件是step3/BonusOfProfitTest.py,负责对你写的实现代码进行测试。具体说明如下:

 
  1. # -*- coding:utf-8 -*-
  2. import BonusOfProfit,os
  3. # 从命令行读入一个整数
  4. # 这个整数取自测试集的输入
  5. x = int(input())
  6. print (BonusOfProfit.Bonus(x))

上述代码中所调用函数的参数从命令行读入,并将处理后的结果通过命令行输出。平台将根据这个命令行输出来判断Bonus(x)函数是否正确实现。注意,step3/BonusOfProfitTest.py的代码不能被修改。

以下是平台对step3.BonusOfProfitTest的测试样例: 测试输入:12000 预期输出:1200.0

测试输入:120000 预期输出:11500.0

测试输入:250000 预期输出:20000.0

测试输入:450000 预期输出:29000.0

开始你的任务吧,祝你成功!

参考答案

方法一

# -*- coding:utf-8 -*-

# 将分数转换为对应等级
def Bonus(x):
    # 请在此添加实现代码
    if x<=100000:
        return x*0.1
    elif 100000<x<=200000:
        return Bonus(100000)+(x-100000)*0.075
    elif 200000<x<=400000:
        return Bonus(200000)+(x-200000)*0.05
    elif 400000<x<=600000:
        return Bonus(400000)+(x-400000)*0.03
    elif 600000<x<=1000000:
        return Bonus(600000)+(x-600000)*0.015
    elif x>1000000:
        return Bonus(1000000)+(x-1000000)*0.01
    return 0

方法二

# 将分数转换为对应等级
def Bonus(x):
    if x<=100000:
        bonus=x*0.1
        return bonus
    elif 100001<x<=200000:
        bonus=10000+(x-100000)*0.075
        return bonus
    elif 200001<x<=400000:
        bonus=10000+7500+(x-200000)*0.05
        return bonus
    elif 400001<x<=600000:
        bonus=10000+7500+10000+(x-400000)*0.03
        return bonus
    elif 600001<x<=1000000:
        bonus=10000+7500+10000+6000+(x-600000)*0.015
        return bonus
    elif 600001<x<=1000000:
        bonus=10000+7500+10000+6000+6000+(x-600000)*0.01
        return bonus

————————分割线————————

本人python小白,内容如有不妥之处,还请大佬指教。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:18:30  更:2021-08-05 17:19:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 13:21:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码