实例:完全平方数。
题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少。
程序分析 因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:
n=0。
while(n+1)**2-n*n<=168:
n+=1。
print(n+1)。
----------。
85
- 编程问答
- 答案列表
python入门经典案例及解析[朗读]
实例:“个税计算”
题目 企业发放的奖金根据利润提成。利润(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=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)。
题目 企业发放的奖金根据利润提成。利润(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=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)。
数字组合。
题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少。
程序分析 遍历全部可能,把有重复的剃掉。
num=0。
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if((a!=b)and(a!=c)and(b!=c)):
print(a,b,c)。
num+=1。
print (num)。
函数语法range(start,stop[,step])。
参数说明:
start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5);stop:计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]没有5step:步长,默认为1。例如:range(0,5) 等价于 range(0,5,1)。
题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少。
程序分析 遍历全部可能,把有重复的剃掉。
num=0。
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if((a!=b)and(a!=c)and(b!=c)):
print(a,b,c)。
num+=1。
print (num)。
函数语法range(start,stop[,step])。
参数说明:
start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5);stop:计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]没有5step:步长,默认为1。例如:range(0,5) 等价于 range(0,5,1)。
加入收藏