Python:新手练习
(题目转自小甲鱼网站)
1 、
题目:有5个数字:1、2、3、4,5能组成多少个互不相同且无重复数字的4位数?各是多少?
程序分析:可填在千、百、十、个位的数字都是1、2、3、4、5。组成所有的排列后再去掉不满足条件的排列。
练习:
count = 0
for x in range(1,6):
for y in range(1,6):
for z in range(1,6):
for k in range(1,6):
if x == y or y == z or x==z or x ==k or y==k or z== k :
continue
else:
print(x,y,z,k)
count +=1
print(‘有%d种组合’% count)
或者
count = 0
for x in range(1,6):
for y in range(1,6):
for z in range(1,6):
for k in range(1,6):
if x != y and y != z and x != z and x != k and y != k and z != k :
print(x,y,z,k)
count +=1
print(‘有%d种组合’% count)
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,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
练习:
profit = input (“please enter the profit:”)
I = int (profit)
bonus = 0
if I <= 100000:
bonus = I * 0.1
elif 100000 < I <= 200000:
bonus = 100000 * 0.1 + 0.075 * (I – 100000)
elif 200000 < I <= 400000:
bonus = 17500 + 0.05 * (I – 200000)
elif 400000 < I <= 600000:
bonus = 27500 + 0.03 * (I – 400000)
elif 600000 < I <= 1000000:
bonus = 33500 + 0.015 * (I – 600000)
elif I > 1000000:
bonus = 39500 + 0.01 * (I – 1000000)
print (“bonus:”,bonus)