python夜曲编程代码练习16-20

Q16:加班薪水up

题目:

某家公司规定:如果员工每周的工作超过了40小时,那么多余的工作时间支付其1.5倍的薪水。阿倩每小时的薪水是50元,她一周工作了55小时,那么阿倩这周的工资应该为多少呢?

解答:
def pay_week(hour,wage):
    pay = 0
    if hour > 40:
        pay = (hour - 40) * wage * 1.5 + 40 * wage *1
    else:
        pay = wage * hour * 1
    return pay

print(f"阿倩这周的工资为{pay_week(55,50)}元")

Q17:大会预选

题目:

成都大运会预选赛,某田径队要选拔选手参赛,定义函数match(),传入参数time和gender,若百米赛跑时间time小于等于11秒时,则判断性别,否则输出"继续努力,争取下次参赛!"。若性别gender为男,则输出"恭喜你,代表男队参赛!";若性别gender为女,输出"恭喜你,代表女队参赛!"。

解答:
def match(time,gender):
    if time <= 11 and gender == "男":
        print("恭喜你,代表男队参赛!")
    elif time <= 11 and gender == "女":
        print ("恭喜你,代表女队参赛")
    else:
        print("继续努力,争取下次参赛!")
match(10.3,"男")
match(12.1,"女")

Q18:购买小票

题目:

聪聪去超市购物,她的购物信息如列表goods所示。
请定义一个函数showGoods(),传入参数x,帮他遍历列表x,计算总价。

解答:
goods = [
    {"name": "面包", "mount": 7, "price": 5},
    {"name": "牛奶", "mount": 3, "price": 10},
    {"name": "香蕉", "mount": 1, "price": 12},
    {"name": "大米", "mount": 2, "price": 98}
    ]
def showGoods(x):
    count = 1
    sum = 0
    for i in x:
        sum = i["mount"] * i["price"] +sum
        # print(f'{count} {i["name"]} {i["mount"]} {i["price"]}')也是一样的
        print(f"{count} {i['name']} {i['mount']} {i['price']}")
        count = count + 1
    return sum
print("--- 商品信息 ---")
print(f"本次购物总价为{showGoods(goods)}元")

Q19:世界最高峰

题目:

世界最高峰是哪个呢?有一个字典mountain,存放了世界四大高峰的名字和高度,请找出世界最高峰。
最后格式化输出:"世界最高峰为xx,高度为xx米。"

解答:
mountain = {"乔戈里峰":8611,"干城章嘉峰":8586,"珠穆朗玛峰":8844.43,"洛子峰":8516}

#我们使用max()函数来获取最大的值。
#max()函数的key参数是一个函数,它用于计算每个元素的大小。
#在这里,我们使用mountain.get作为key函数,这意味着max()函数会返回字典中最大值的键。

highest_peak = max(mountain, key=mountain.get)
print(f"世界最高峰为{highest_peak},高度为{mountain[highest_peak]}米。")
扩展:

如果是需要对山峰的高度进行排序,可以用sorted()函数,再使用循环,即可得到山峰排序后输出

mountain = {"乔戈里峰":8611,"干城章嘉峰":8586,"珠穆朗玛峰":8844.43,"洛子峰":8516}

sorted_mountain = sorted(mountain.items())

for key, value in sorted_mountain:
    print(f"{key}的高度是{value}米")

Q20:及格线上的平均分

题目:

夜曲二班10名学生语文成绩存储在元组mark中,计算该班除去不及格分数外的平均分。
最后格式化输出:"夜曲二班除去不及格分数外的平均分为xx分"。

要求:代码循环体通过while循环实现。

解答:

mark = (47,63,79,98,94,85,61,59,91,85)
i = 0
sum = 0
count = 0
while i < len(mark):
    if mark[i] >= 60:
        sum = sum + mark[i]
        count += 1
        i += 1
    else:
        i += 1

print(f"夜曲二班除去不及格分数外的平均分为{sum / count}分")   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值