《Python的菜鸟世界》1-5题

参考链接:http://www.zhangdongshengtech.com/article-detials/36

1、求三位数组合

已知有一个list,里面有4个数字,分别是3,6,2,7 ,这四个数字能组成多少个互不相同且无重复数字的三位数?比如362算一个,326算一个,请逐个输出他们。

#解法1
lis = [3,6,2,7]
res = []
count = 0
for i in lis:
    for j in lis:
        if j == i:
            continue
        for k in lis:
            if (k == j) or (k == i):
                continue
            temp = i*100+j*10+k
            res.append(temp)
            count += 1
print("总共有%d个组合,如下:"%count)
print(res)
## 总结:continue也可用于for循环中 
# 解法2
lis = [3,6,2,7]
res = []
for i in lis:
    for j in lis:
        for k in lis:
            if (i != j) and (i != k) and (j != k):
                temp = "{bai}{shi}{ge}".format(bai = i,shi = j, ge = k)
                res.append(temp)
print("总共有%d个组合"%len(res))
print(res)
# 总结:先取出所有情况,再排除不符合要求的情况

2、完全平方数

打印10000以内的完全平方数

i = 1
res = []
while 1:   
    j = i*i
    if j<= 10000:
        res.append(j)
        i += 1
    else:
        break
print("总计%d个完全平方数"%len(res))
print(res)

3、打印乘法口诀表

《Python的菜鸟世界》1-5题_第1张图片
for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d = %d"%(j,i,j*i), end = '  ')
    print(' ')

4、输出水仙花数

输出所有的水仙花数,所谓水仙花数是指一个三位数,各个位上的数的立方相加在一起等于这个三位数,比如153,1的3次方 + 5的三次方 + 3的三次方 等于153。

# 解法1
target = []
for i in range(1,10):
    for j in range (10):
        for k in range(10):
            a = i**3 + j**3 + k**3
            b = i*100 + j*10 + k
            if a == b:
                target.append(a)
print("水仙花数有%d个,如下:"%len(target))
print(target)

上面代码需要注意的是,任意一个三位数,最高位不能为0。

# 解法2
for n in range(100,1000):
    i = n // 100         #获取百位数
    j = (n // 10) % 10     #获取十位数
    k = n % 10          #获取个位数
    if n == i**3 + j ** 3 + k ** 3:
        print(n)

关于上面代码,取一个三位数的各个位上的值时:
第1点,确定小数点向左移动几位;
第2点,确定取商还是取余。

5、输出学生分数的考评等级

允许用户从终端输入一个分数,程序输出这个分数所属的考评等级,90到100分是A,60到89是B,60分以下是C。

score = int(input("请输入分数:"))
grade = 'null'
if score >= 90:
    grade = 'A'
elif score >= 60:
    grade = 'B'
else:
    grade = 'C'
print("分数%d对应的等级为%s"%(score,grade ))

这一题最简单,考察if基本用法。

你可能感兴趣的:(《Python的菜鸟世界》1-5题)