大家好,小编为大家解答python课本课后题答案的问题。很多人还不知道python教材课后答案,现在让我们一起来看看吧!
实例001:数字组合
题目
有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析 遍历全部可能,把有重复的剃掉。
1 num=0
2 for a in range(1,5):
3 for b in range(1,5):
4 for c in range(1,5):
5 if((a!=b)and(a!=c)and(b!=c)):
6 print(a,b,c)
7 num+=1
8 print (num)
实例002:“个税计算”
题目 企业发放的奖金根据利润提成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,求应发放奖金总数?
程序分析 分区间计算即可。
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
实例003:完全平方数
题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序分析 因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:
n=0
while (n+1)**2-n*n<=168:
n+=1
print(n+1)
----------
85
思路是:最坏的结果是n的平方与(n+1)的平方刚好差168,由于是平方的关系,不可能存在比这更大的间隙。
至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。 结合起来:
n=0
whi