第1关:判断三角形类型

任务描述

本关任务:编写一个能判断三角形类型的小程序。 输入三个数值,判断其是否能构成三角形的三条边。如果能构成,判断其是否等边三角形、直角三角形还是普通三角形。

相关知识

为了完成本关任务,你需要掌握:1.如何写条件,2.多分支语句。

条件表达式

条件表达式中可以包含关系运算和逻辑运算 关系运算有大于>、等于==,小于<等操作符,结果为True或False 逻辑运算有逻辑与and,逻辑或or和逻辑非not

多分支语句

多分支语句的语法格式为: if <条件1>: <语句块1> elif <条件2>: <语句块2> …… else: <语句块N>

Python依次评估寻找第一个结果为True的条件,执行该条件下的语句块,同时结束后跳过整个if-elif-else结构,执行后面的语句。 如果没有任何条件成立,else下面的语句块被执行。 else子句是可选的

编程要求

根据提示,在右侧编辑器补充代码,判断三角形类型。

测试说明

平台会对你编写的代码进行测试:

测试输入:3,4,5; 预期输出: 直角三角形

测试输入:6,6,6; 预期输出: 等边三角形

测试输入:1,2,3; 预期输出: 无法构成三角形

测试输入:3,4,6; 预期输出: 普通三角形


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

代码:

x=eval(input("边长一"))
y=eval(input("边长二"))
z=eval(input("边长三"))
if(x+y<z or x+z<y or y+z<x):
    print("无法构成三角形")
elif(x*x+y*y==z*z or x*x+z*z==y*y or z*z+y*y==x*x):
    print("直角三角形")
elif(x==y and x==z and y==z):
    print("等边三角形")
else:
    print("普通三角形")

第2关:分段函数

任务描述

有一分段函数如图所示

本关任务:编写一个能根据x的值计算y值的小程序。

相关知识

为了完成本关任务,你需要掌握:多分支结构

多分支结构

语法格式 if <条件1>: <语句块1> elif <条件2>: <语句块2> …… else: <语句块N>

Python依次评估寻找第一个结果为True的条件,执行该条件下的语句块,同时结束后跳过整个if-elif-else结构,执行后面的语句。 如果没有任何条件成立,else下面的语句块被执行。 else子句是可选的

编程要求

根据提示,在右侧编辑器补充代码,实现上图所示的分段函数。

测试说明

平台会对你编写的代码进行测试:

测试输入:50; 预期输出: 149

测试输入:-5; 预期输出: -5

测试输入:5; 预期输出: 9


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

代码:

x=eval(input())
if(x<1):
    y=x
elif(1<=x and x<10):
    y=2*x-1
else:
    y=3*x-1
print("{:.2f}".format(y))

第3关:阶梯电价计算电费

任务描述

本关任务:长沙市按照阶梯电价计算电费,第一档是200度及以下的0.588/度。第二,三档分季节,春秋季:第二档是200度以上-350度的0.638/度,第三档是350度以上0.888/度。冬夏季:第二档是200度以上-450度的0.638/度,第三档是450度以上0.888/度。根据输入的上月电表度数、本月电表度数和月份来计算电费。3-5月份为春季,6-8月份为夏季,9-11为秋季,12-2月份为冬季。 输入居民的上月和本月的电表度数,计算用电度数和电费。

测试说明

平台会对你编写的代码进行测试:

测试输入: 上月电表读数200 本月电表读数800 月份7

预期输出: 用电度数600.0 电费410.30

测试输入: 上月电表读数150 本月电表读数450 月份4

预期输出: 用电度数300.0 电费181.40

提示: 哪个条件嵌条在哪个条件里面,需要考虑清楚


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

代码:

sy=eval(input("输入上月电表度数"))
by=eval(input("输入本月电表度数"))
yf=eval(input("输入月份"))
ds=by-sy
if((3<=yf and yf<=5)or(9<=yf and yf<=11)):
    if(ds>200 and ds<350):
        df=0.588*200+0.638*(ds-200)
    else:
        df=0.588*200+0.638*150+0.888*(ds-350)
else:
    if(ds>200 and ds<450):
        df=0.588*200+0.638*(ds-200)
    else:
        df=0.588*200+0.638*250+0.888*(ds-450)
print("用电度数{:.2f}电费{:.2f}".format(ds,df))

第4关:阶梯水价计算水费

任务描述

本关任务:编写一个计算水费的小程序。 长沙市水费计量实施阶梯式水价制度:对四口之家及以下以户为单位进行计量,五口之家及以上按人均计量办法。 对四口之家及以下户:第一级水价为15吨及以下,按2.58元每吨计费;第二级水价为22吨及以下,按3.34元每吨计费;第二级水价为超过22吨,按4.09元每吨计费。 对五口之家及以上户:第一级水价为每人每月4吨及以下,按2.58元每吨计费;第二级水价为每人每月5吨及以下,按3.34元每吨计费;第二级水价为超过每人每月5吨,按4.09元每吨计费。 此外,对于低保居民,每户每月减免6立方米的水费

编程要求

根据提示,在右侧编辑器补充代码,输入上月水表读数、本月水表读数、家庭人数、是否低保(y/n),计算并输出用水度数和水费。

测试说明

平台会对你编写的代码进行测试:

测试输入:输入上月水表吨数10 输入本月水表吨数40 输入家庭人数3 是否低保(y/n)y

预期输出: 用水吨数(减免后)24.00水费70.26

测试输入:输入上月水表吨数30 输入本月水表吨数80 输入家庭人数6 是否低保(y/n)n 预期输出: 用水吨数(减免后)50.00水费163.76

测试输入:输入上月水表吨数10 输入本月水表吨数13 输入家庭人数6 是否低保(y/n)y 预期输出: 用水吨数(减免后)-3.00水费0


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

代码:

sy=eval(input("输入上月水表吨数"))
by=eval(input("输入本月水表吨数"))
rs=eval(input("输入家庭人数"))
db=input("是否低保(y/n)")
if(db=='y'):
    sl=by-sy-6
    if(rs<5):
        if(sl<=15):
            sf=2.58*sl
        elif(15<sl and sl<=22):
            sf=2.58*15+3.34*(22-sl)
        else:
            sf=2.58*15+3.34*7+4.09*(sl-22)
    else:
        if(sl<=0):
            sf=0.00
        elif(sl<=4*rs):
            sf=sl*2.58
        elif(sl<=5*rs):
            sf=sl*3.34
        else:
            sf=sl*4.09
else:
    sl=by-sy
    if(rs<5):
        if(sl<=15):
            sf=2.58*sl
        elif(15<sl and sl<=22):
            sf=2.58*15+3.34*(sl-15)
        else:
            sf=2.58*15+3.34*7+4.09*(sl-22)
    else:
        if(sl<=4*rs):
            sf=sl*2.58
        elif(sl<=5*rs):
            sf=sl*3.34
        else:
            sf=sl*4.09
print("用水吨数(减免后){:.2f}水费{:.2f}".format(sl,sf))

第5关:手机话费计算

任务描述

本关任务:编写一个能计算手机话费的小程序。 某用户办理了中国移动128元的5g套餐,套餐内包含每月30g流量和500分钟的通话时间。通话超出时间,按0.15元每分钟计算。套餐流量超出后,5元1GB.满15元后,按照3元1G进行计费。 输入该用户使用的流量和通话时间,计算其费用

测试说明

平台会对你编写的代码进行测试:

测试输入: 流量20 通话时间300 预期输出: 费用128

流量60 通话时间600 预期输出: 费用239


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

代码:

ll=eval(input("流量"))
thsj=eval(input("通话时间"))
fy=128
if(ll<=30 or thsj<=500):
    print("费用{:.2f}".format(fy))
else:
    if(ll<=33):
        fy=5*(ll-30)+0.15*(thsj-500)+fy
    else:
        fy=5*3+3*(ll-33)+0.15*(thsj-500)+fy
    print("费用{:.2f}".format(fy))

第6关:血压判断

任务描述

。 成年人血压的正常范围是60mmHg<舒张压<90mmHg 90mmHg<收缩压<140mmHg。 若舒张压大于等于90或收缩压大于等于140为高血压。 若舒张压小于60或收缩压小于90为低血压。 输入舒张压和收缩压,判断其属于高血压、低血压或正常血压。 例如,输入70 100显示正常血压 输入100 130 显示高血压 输入50 100显示低血压。

本关任务:编写一个程序,输入舒张压和收缩压,判断其属于高血压、低血压或正常血压。

测试说明

平台会对你编写的代码进行测试:

测试输入:70 100; 预期输出:正常血压

测试输入:100 130 预期输出: 高血压

测试输入:50 100 预期输出: 低血压


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

代码:

x=eval(input())
y=eval(input())
if(x>90 or y>=140):
    print("高血压")
elif(x<60 or y<90):
    print("低血压")
else:
    print("正常血压")

第7关:党费计算

任务描述

对于在职党员,工资收入在3000元及以下,交纳月工资收入的0.5%; 3000元以上至5000元(含5000元)者,交纳1%; 5000元以上至10000元(含10000元)者,交纳1.5%; 10000元以上者,交纳2%。 对于离退休党员,离退休费总额5000元以下(含5000元)的按0.5%交纳党费,5000元以上的按1%交纳党费。

本关任务:编写程序,输入是否退休(y或Y表示退休)和收入,输出应缴纳党费

注意:党费不是累进计算,而是直接按比例收取,例如,在职党员,收入8000,直接按1.5%收取 离退休党员,收入6000,直接按1%收取

测试说明

平台会对你编写的代码进行测试:

测试输入:n 8000 预期输出:120.00

测试输入:y 8000 预期输出:80.00

测试输入:n 2000 预期输出:10.00

测试输入:y 2000 预期输出:10.00


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

代码:

ch=input("")
s=eval(input(""))
if(ch=='n'):
    if(s<=3000):
        df=s*0.005
    elif(3000<s and s<=5000):
        df=s*0.01
    elif(5000<s and s<=10000):
        df=s*0.015
    else:
        df=s*0.02
else:
    if(s<=5000):
        df=s*0.005
    else:
        df=s*0.01
print("{:.2f}".format(df))

第8关:周薪计算

任务描述

某公司按小时计费工资。规定每周5个工作日,每天工作8小时。工作日超时工作工资为正常工资的1.5倍。休息日工资,4小时内为正常工资的2倍,超过4小时的部分为正常工资的3倍。 输入每小时工资,员工每周的工作日工作小时数和休息日工作小时数,计算其该周工资 例如每小时工资30元。工作日50小时,休息日8小时,其工资为2250.00元 40*30+10*30*1.5+4*30*2+4*30*3=2250 本关任务:输入每小时工资,员工每周的工作日工作小时数和休息日工作小时数,计算其该周工资

测试说明

平台会对你编写的代码进行测试:

测试输入: 工资标准30 工作日工作时间50 休息日工作时间8 预期输出: 工资2250.00

测试输入: 工资标准20 工作日工作时间80 休息日工作时间40 预期输出: 工资4320.00


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

代码:

gzbz=eval(input("工资标准"))
gzr=eval(input("工作日工作时间"))
xxr=eval(input("休息日工作时间"))
if(gzr<=40):
    if(xxr<=4):
        gz=gzbz*gzr+xxr*gzbz*2
    else:
        gz=gzbz*gzr+4*gzbz*2+(xxr-4)*3*gzbz
elif(gzr>40):
    if(xxr<=4):
        gz=gzbz*40+gzbz*(gzr-40)*1.5+xxr*gzbz*2
    elif(xxr>4):
        gz=gzbz*40+gzbz*(gzr-40)*1.5+4*gzbz*2+(xxr-4)*3*gzbz
print("工资{:.2f}".format(gz)) 
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐