闲来无事,准备重新接触一门计算机语言。思来想去,还是觉得python更吸引我。
我找了无数的学习视频,基本上都是从零基础开始教学,所以我便开始一步一步的学起来。
这边的理论知识我不做过多的详解,话不多说,直接上实例!
题目1 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析 遍历全部可能,把有重复的剃掉。
方法一:
1 total=0 2 for i in range(1,5): 3 for j in range(1,5): 4 for k in range(1,5): 5 if ((i!=j)and(j!=k)and(k!=i)): 6 print(i,j,k) 7 total+=1 8 print(total)
方法二:用itertools中的permuttions即可
1 import itertools 2 sum2=0 3 a=[1,2,3,4] 4 for i in itertools.permutations(a,3): 5 print(i) 6 sum2+=1 7 print(sum2)
题目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,求应发放奖金总数?
程序分析 分区间计算即可。
1 profit=int(input(‘Show me the money: ‘)) 2 bonus=0 3 thresholds=[100000,100000,200000,200000,400000] 4 rates=[0.1,0.075,0.05,0.03,0.015,0.01] 5 for i in range(len(thresholds)): 6 if profit<=thresholds[i]: 7 bonus+=profit*rates[i] 8 profit=0 9 break 10 else: 11 bonus+=thresholds[i]*rates[i] 12 profit-=thresholds[i] 13 bonus+=profit*rates[-1] 14 print(bonus)
原文:https://www.cnblogs.com/qq2270842599/p/14773687.html