Python学习之-分支语句

第1关:闰年

任务描述:

从键盘输入年份t,如果年份t 能被 400整除,或者能被4整除但不能被100整除,则输出“t年是

闰年”,否则输出“t年不是闰年”,t用输入的年份代替。

x=int (input())
#通过分支语句输出
if (x%400 ==0 )or( x%100 != 0 and x%4 ==0 ):
    print(f"{x}年是闰年")
elif x%400 !=0:
        print(f"{x}年不是闰年")

第2关:招聘职工

任务描述:

满足以下两个条件之一:

(1)25岁及以下且是重点大学“金融工程”专业的应届学生。

(2)具备至少3年工作经验的“投资银行”专业人士。 请编写程序判断一个24岁非重点大学投资银行专业毕业,已有三年工作经验的求职者能否得到面试通知 。

age=int(input())
jobtime=int(input())
college=int(input())
major=int(input())

if (age<=25 and college=="重点" and major=="金融工程" and jobtime==0) 
   or (major=="投资银行"  and jobtime>=3):
    print("欢迎您来参加面试!")
else:
    print("不符合我们的面试条件。")

第3关:计算应付货款

任务描述:

满足以下条件:

  • 输入标准价格和订货量。根据订货量大小,价格给以不同的折扣,计算应付货款(应付货款=订货量×价格×(1-折扣))。其中
  • 订货量300以下,没有折扣;
  • 订货量300及以上,500以下,折扣为3%;
  • 订货量500及以上,1000以下,折扣5%;
  • 订货量1000及以上,2000以下,折扣8%;
  • 订货量2000及以上,折扣10%
price,Quantity=eval(input())

if Quantity<0:
    coff=-1
elif Quantity<300:
    coff=0.0
elif Quantity<500:
    coff=0.03
elif Quantity<1000:
    coff=0.05
elif Quantity<2000:
    coff=0.08
else:
    coff=0.1
if Quantity>=0 and price>=0:
    pays=Quantity*price*(1-coff)
    print("支付的金额为:",pays)
else:
    print("输入的订货量与标准价格均不能小于零!")

第4关:新老客户计算货款

  • 输入客户类型、标准价格和订货量。根据客户类型(<5为新客户,>=5老客户)和订货量给予不同的折扣,计算应付货款(应付货款=订货量×价格×(1-折扣))。
  • 如果是新客户:订货量800以下,没有折扣;否则折扣为2%。
  • 如果是老客户:订货量500以下,折扣为3%;
  • 订货量500及以上,1000以下,折扣5%;
  • 订货量1000及以上,2000以下,折扣8%;
  • 订货量2000及以上,折扣10%。
# 客户类型c、标准价格p、订货量q 、折扣a 、支付金额 s
c,p,q =eval(input())

if c > 0 and p > 0 and q > 0:
    if c < 5:
        if q < 800:
            a = 0
        else:
            a = 0.02
    else:
        if q < 500:
            a = 0.03
        elif q < 1000:
            a = 0.05
        elif q < 2000:
            a = 0.08
        else:
            a = 0.1
    s= q * p * (1 - a)
    print(f"支付的金额为: {s:.1f}")

else:
    print("用户类别、标准价格、订货量都不能小于零")

第5关:BMI

计算身体质量指数BMI问题,其中:BMI = 体重(kg) / (身高*身高)(m2)

h,w= eval(input())
BMI=w/(h**2)
if BMI<18.5:
    print("身高和体重必须是大于零的数")
elif 18.5<=BMI<=23.9:
    print(f"BMI指标为{BMI:.1f}:国际正常,国内正常")
elif 24<=BMI<=27.9:
    print("overweight")
else:
    print("身高和体重必须是大于零的数")

第六关:成绩循环

请统计成绩中优秀、良、中、及格、不及格的人数。可先创建一个列表将成绩放进去,再创建一个字典将各个等级人数定为0,然后遍历列表增加每个等级人数。 


x=[89,70,49,87,92,84,73,71,78,81,90,37,77,82,81,79,80,82,75,90,54,80,70,68,61]
dict={"优秀":0,"良好":0,"中等":0,"及格":0,"不及格":0}
for i in x:
    if i>90:
        dict["优秀"]=dict["优秀"]+1
    elif 80<i<=90:
        dict["良好"] = dict["良好"] + 1
    elif 70<=i<80:
        dict["中等"] = dict["中等"] + 1
    elif 60 <= i < 70:
        dict["及格"] = dict["及格"] + 1
    elif  i < 60:
        dict["不及格"] = dict["不及格"] + 1
print(dict)

第七关 奖金根据利润提成

利润(I)低于或等于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%提成,从键盘输入当月利润I,求应发放奖金总数?

x = int(input("请输入利润(万元):")
if x<=10:
    y=x*(1+0.1)
elif  10<x<=20:
    y=(x-10)*1.75+10*(1+0.1)
elif  20<x<=40:
    y= (x-20)*1.05+(20-10)*1.75+10*(1+0.1)
elif 40<x<=50:
    y= (x-40)*1.03+(40-20)*1.05+(20-10)*1.75+10*1.1
elif x>60 and x<= 100:
    y = (x-60)*1.015+(x-40)*1.03+(40-20)*1.05+(20-10)*1.75+10*1.1
else:
    y= (x-100)*1.001+(x-60)*1.015+(x-40)*1.03+(40-20)*1.05+(20-10)*1.75+10*1.1
print(f'最后应发奖金总数为{y}万元')

第八关:数字顺序输出

x,y,z = eval(input("输入三个数:"))
if x > y:
    x, y = y, x
if x > z:
    x, z = z, x
if y > z:
    y, z = z, y
print("由小到大排列:",x, y, z)

第九关:周薪计算

规定每周5个工作日,每天工作8小时。工作日超时工作工资为正常工资的1.5倍。休息日工资,4小时内为正常工资的2倍,超过4小时的部分为正常工资的3倍。

输入每小时工资,员工每周的工作日工作小时数和休息日工作小时数,计算其该周工资。

gzbz=eval(input("工资标准"))
gzr=eval(input("工作日工作时间"))
xxr=eval(input("休息日工作时间"))

if gzr<40 and xxr<4:
    gz=gzr*gzbz+xxr*gzbz*2
elif 40<=gzr and xxr<4:
    gz=40*gzbz+(xxr-40)*gzbz*1.5+xxr*gzbz*2
elif gzr<40 and xxr>4:
    gz=gzr*gzbz+    4*gzbz*2 + (xxr-4)*gzbz*3
elif 40<=gzr and xxr>=4:
    gz=40*gzbz+(gzr-40)*gzbz*1.5  + 4*gzbz*2+(xxr-4)*gzbz*3

print("工资{:.2f}".format(gz)) 

十:党费计算

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

输入是否退休(y或Y表示退休)和收入,输出应缴纳党费。

ch=input("")
s=eval(input(""))

if ch== "n":
    if s<3000:
        df=s*0.005
    elif 3000<=s<5000:
        df=s*0.01
    elif 5000<=s<10000:
        df=s*0.015
    else:
        df=s*0.02
if  ch=="y "or "Y":
    if s<=5000:
        df = s*0.005
    else:
        df = s*0.01

print("{:.2f}".format(df))

十一:血压判断

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

例如,输入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("正常血压")

十二:手机话费计算

某用户办理了中国移动128元的5g套餐,套餐内包含每月30g流量和500分钟的通话时间。通话超出时间,按0.15元每分钟计算。套餐流量超出后,5元1GB.满15元后,按照3元1G进行计费。 输入该用户使用的流量和通话时间,计算其费用。

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

十三:阶梯水价计算水费

第一级水价为15吨及以下,按2.58元每吨计费;第二级水价为22吨及以下,按3.34元每吨计费;第二级水价为超过22吨,按4.09元每吨计费。 对五口之家及以上户:第一级水价为每人每月4吨及以下,按2.58元每吨计费;第二级水价为每人每月5吨及以下,按3.34元每吨计费;第二级水价为超过每人每月5吨,按4.09元每吨计费。 此外,对于低保居民,每户每月减免6立方米的水费

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

十四:阶梯电价计算电费

阶梯电价计算电费,第一档是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月份为冬季。

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

十五:判断三角形类型

输入三个数值,判断其是否能构成三角形的三条边。如果能构成,判断其是否等边三角形、直角三角形还是普通三角形。

a=eval(input("边长一"))
b=eval(input("边长二"))
c=eval(input("边长三"))

if a<b+c and b<a+c and c<a+b:   
    if a==b==c:
        print ("等边三角形")
    elif  a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a:  
        print ("直角三角形")
    else:
        print('普通三角形')  
else:
    print("无法构成三角形")

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年5月7日
下一篇 2023年5月7日

相关推荐