实例
001
:数字组?/p>
题目
有四个数字:
1
?/p>
2
?/p>
3
?/p>
4
?/p>
能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析
遍历全部可能,把有重复的剃掉?/p>
total=0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if ((i!=j)and(j!=k)and(k!=i)):
print(i,j,k)
total+=1
print(total)
12345678
简便方?/p>
?/p>
itertools
中的
permutations
即可?/p>
import itertools
sum2=0
a=[1,2,3,4]
for i in itertools.permutations(a,3):
print(i)
sum2+=1
print(sum2)
12345678
实例
002
?/p>
“个税计算?/p>
题目
企业发放的奖金根据利润提成。利?/p>
(I)
低于或等?/p>
10
万元时,奖金可提
10%
;利润高
?/p>
10
万元?/p>
低于
20
万元时,
低于
10
万元的部分按
10%
提成?/p>
高于
10
万元的部分,
可提?/p>
7.5%
?/p>
20
万到
40
万之间时,高?/p>
20
万元的部分,可提?/p>
5%
?/p>
40
万到
60
万之间时高于
40
万元的部分,可提?/p>
3%
?/p>
60
万到
100
万之间时,高?/p>
60
万元的部分,可提?/p>
1.5%
,高?/p>
100
万元时,超过
100
万元的部分按
1%
提成,从键盘输入当月利润
I
,求应发放奖金总数?/p>
程序分析
分区间计算即可?/p>
profit=int(input('Show me the money: '))
bonus=0
thresholds=[100000,100000,200000,200000,400000]
rates=[0.1,0.075,0.05,0.03,0.015,0.01]
for i in range(len(thresholds)):
if profit<=thresholds[i]:
bonus+=profit*rates[i]
profit=0
break
else:
bonus+=thresholds[i]*rates[i]
profit
-
=thresholds[i]
bonus+=profit*rates[
-
1]
print(bonus)
1234567891011121314