python练习5

# 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码

 

 dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}
  
 # 将该字典按照ASCII码的值排序
 sorted(dict1.items(), key=lambda x: x[1])
  
 # 有一个字母的ASCII错了,修改为正确的值,并重新排序
 dict1['o'] = 111
 sorted(dict1.items(), key=lambda x: x[1])
  
 # 用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)
 import string
 dict2 = dict(zip(string.uppercase, range(26)))
  
 # 将dict2与第一题排序后的dict1合并成一个dict3
 dict3 = dict(dict1.items() + dict2.items())
  
 =======================================================================================================
  
 # 输入三个整数x,y,z,请把这三个数由小到大输出。
 # 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
 # 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
  
 num1 = input("Please input first number: ")
 num2 = input("Please input second number: ")
 num3 = input("Please input third number: ")
  
 max_num = max(num1, num2, num3)
 min_num = min(num1, num2, num3)
 med_num = num1 + num2 + num3 - max_num - min_num
  
 print("%s < %s < %s" % (min_num, med_num, max_num))
  
 =======================================================================================================
  
 # 企业发放的奖金根据利润提成。
 # 利润(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,求应发放奖金总数?
  
 I = float(input("请输入当月利润,单位为万元:"))
  
 if I <= 10:
 bns = 10 * 0.1
 elif 10 < I <= 20:
 bns = 10 * 0.1 + (I-10) * 0.075
 elif 20 < I <= 40:
 bns = 10 * 0.1 + 10 * 0.075 + (I-20) * 0.05
 elif 40 < I <= 60:
 bns = 10 * 0.1+ 10 * 0.075 + 20 * 0.05 + (I-40) * 0.03
 elif 60 < I <= 100:
 bns = 10 * 0.1+ 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (I-60) * 0.015
 elif I > 100:
 bns = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (I-100) * 0.01
  
 print("发放奖金总数为:%s万元" % bns)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值