练习1:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
1 #-*- coding:utf-8 -*- 2 #Author :乐为 3 #设计思路:定义百位、十位、个位的变量,对每位分别从1取到4,校验各个位数之间是否相等 4 5 for i in range(1, 5): 6 for j in range(1, 5): 7 for k in range(1, 5): 8 if i != j and i != k and j != k: 9 print(i, j, k)
输出结果:
1 2 3 1 2 4 1 3 2 1 3 4 1 4 2 1 4 3 2 1 3 2 1 4 2 3 1 2 3 4 2 4 1 2 4 3 3 1 2 3 1 4 3 2 1 3 2 4 3 4 1 3 4 2 4 1 2 4 1 3 4 2 1 4 2 3 4 3 1 4 3 2
练习2:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
#设计思路:先对高于100万元的利润进行计算,小于等于100万元以下获得利润均相同,再对所有获得的利润进行相加
1 i = int(input(‘请输入利润(万元):‘)) 2 arr = [100, 60, 40, 20, 10, 0] 3 rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1] 4 r = 0 5 for idx in range(0, 6): 6 if i > arr[idx]: 7 r += (i-arr[idx))*rat[idx] 8 print("高于%d的奖金:%.3f" % (arr[idx], (i-arr[idx])*rat[idx])) 9 i = arr[idx] 10 print("总的奖金额度:%.3f" % r)
输出:
请输入利润(万元):200
高于100的奖金:1.000
高于60的奖金:0.600
高于40的奖金:0.600
高于20的奖金:1.000
高于10的奖金:0.750
高于0的奖金:1.000
总的奖金额度:4.950
原文:https://www.cnblogs.com/lw-whatever/p/11192276.html