Python学习总结【第十三篇】:Python之练习题(每天一个持续更新)

20160625题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

# 分析:可填在百位、十位、个位的数字都是1、2、3、4。列出所有的组成排列后再去掉不满足条件的排列即可
# 方法1:列表
li = [1, 2, 3, 4]
for i in li:
    for j in li:
        for g in li:
            if i != j and j != g and i !=g:
                print("%s%s%s" % (i, j, g))

# 方法2:range
for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            if(i != k) and (i != j) and (j != k):
                print("%s%s%s" % (i, j, k))
代码实现(2种方法)

20160626题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。  

 

20160627题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

20160628题目:内置函数应用
a = [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
目前通过a可以获取如下格式:
     [0,1,2,3]
     [0,1,2,3]
     [0,1,2,3]
     [0,1,2,3]
现在想要通过a得到如下格式:
     [0,0,0,0]
     [1,1,1,1]
     [2,2,2,2]
     [3,3,3,3]
如何实现上面的要求?

a = [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
c = zip(a[0], a[1], a[2], a[3])
for i in c:
     print i

# 缺陷,zip里面的参数是手动写入,没有动态的生成,需改进
实现代码

 

 




    

posted @ 2016-06-25 22:43  每天进步一点点!!!  阅读(363)  评论(0)    收藏  举报