python课本课后题答案,python教材课后答案

大家好,小编为大家解答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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值