HNU-Python(商)实验四分支结构(计算与人工智能概论)

任务描述

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

相关知识

为了完成本关任务,你需要掌握: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("边长三"))
from math import *
#代码开始
if x==y==z:
    print("等边三角形")
elif 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 y*y+z*z==x*x:
    print("直角三角形")
else:
    print("普通三角形")



#代码结束

任务描述

有一分段函数如图所示

分段函数

本关任务:编写一个能根据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<=10:
    y=2*x-1
elif x>=10:
    y=3*x-1

#代码结束
print("{:.2f}".format(y))

任务描述

本关任务:长沙市按照阶梯电价计算电费,第一档是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<=5:
    if ds<=200:
        df=ds*0.588
    elif 200<=ds<=350:
        df=200*0.588+(ds-200)*0.638
    else:
        df=200*0.588+150*0.638+(ds-350)*0.888
elif 6<=yf<=8:
    if ds<=200:
        df=ds*0.588
    elif 200<=ds<=450:
        df=200*0.588+(ds-200)*0.638
    else:
        df=200*0.588+250*0.638+(ds-450)*0.888
elif 9<=yf<+11:
    if ds<=200:
        df=ds*0.588
    elif 200<=ds<=350:
        df=200*0.588+(ds-200)*0.638
    else:
        df=200*0.588+150*0.638+(ds-350)*0.888
else:
    if ds<=200:
        df=ds*0.588
    elif 200<=ds<=450:
        df=200*0.588+(ds-200)*0.638
    else:
        df=200*0.588+250*0.638+(ds-450)*0.888

#代码结束
print("用电度数{:.2f}电费{:.2f}".format(ds,df))

任务描述

本关任务:编写一个计算水费的小程序。 长沙市水费计量实施阶梯式水价制度:对四口之家及以下以户为单位进行计量,五口之家及以上按人均计量办法。 对四口之家及以下户:第一级水价为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=="n":
    sl=by-sy
    if rs<=4:
        if sl<=15:
            sf=sl*2.58
        elif 15<=sl<=22:
            sf=15*2.58+(sl-15)*3.34
        else:
            sf=15*2.58+7*3.34+(sl-22)*4.09
    else:
        if  (sl/rs)<=4:
            sf=sl*2.58
        elif 4<=(sl/rs)<=5:
            sf=(4*2.58+((sl/rs)-4)*3.34)*rs
        else:
            sf=(4*2.58+1*3.34+((sl/rs)-5)*4.09)*rs

if db=="y":
    sl=by-sy-6
    if rs<=4:
        if sl<=15:
            sf=sl*2.58
        elif 15<=sl<=22:
            sf=15*2.58+(sl-15)*3.34
        else:
            sf=15*2.58+7*3.34+(sl-22)*4.09
    else:
        if  (sl/rs)<=4:
            sf=sl*2.58
        elif 4<=(sl/rs)<=5:
            sf=(4*2.58+((sl/rs)-4)*3.34)*rs
        else:
            sf=(4*2.58+1*3.34+((sl/rs)-5)*4.09)*rs
if sf<=0:
    sf=0

#代码结束
print("用水吨数(减免后){:.2f}水费{:.2f}".format(sl,sf))

任务描述

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

测试说明

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

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

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


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

ll=eval(input("流量"))
thsj=eval(input("通话时间"))
#代码开始
if ll<=30:
    a=0
elif 30<=ll<=33:
    a=(ll-30)*5
else:
    a=15+(ll-33)*3


if thsj<=500:
    b=0
else:
    b=(thsj-500)*0.15
fy=a+b+128
print("费用{:.2f}".format(fy))



#代码结束

任务描述

。 成年人血压的正常范围是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("正常血压")






#代码结束

任务描述

对于在职党员,工资收入在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.5/100
    elif 3000<s<=5000:
        df=s*0.01
    elif 5000<=s<=10000:
        df=s*0.015
    else:
        df=s*0.02


else:
    if s<=5000:
        df=s*0.5/100
    else:
        df=s*0.01


#代码结束
print("{:.2f}".format(df))

任务描述

某公司按小时计费工资。规定每周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:
    a=gzr*gzbz
else:
    a=40*gzbz+(gzr-40)*1.5*gzbz


if xxr<=4:
    b=xxr*gzbz*2
else:
    b=4*gzbz*2+(xxr-4)*gzbz*3
gz=a+b


#代码结束
print("工资{:.2f}".format(gz)) 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值