一些小题<代码>

1.用传统方法计算一个数的二进制

1.只能计算小于2**16的数字

 1 i = 17
 2 num_2 = int(input("输入一个数字:").strip())
 3 while True:
 4     i -= 1
 5     if i < 0:
 6         break
 7     if 2 ** i > num_2:
 8         print(0,end="")
 9     else:
10         print(1,end="")
11         num_2 = num_2 - 2 ** i

2.用平常数学方法解

num_2 = int(input("输入一个数字:").strip())
l = []
while True:
    b = num_2 // 2
    a = num_2 % 2
    num_2 = b
    l.append(a)
    if b == 0:
        break
l.reverse()
for i in l:
    print(i,end="")

2.用特殊字符输出一个指定高和底的空心长方形

 1 gao = int(input("输入高:").strip())
 2 di = int(input("输入底").strip())
 3 count1 = 1
 4 while count1 <= gao:
 5     count2 = 0
 6     while count2 <= di:
 7         count2 += 1
 8         if 2 <= count1 < gao and 2 <= count2 <= di:
 9             print(" ",end="")
10             continue
11         print("#",end="")
12     print()
13     count1 +=1

结果:

3.用特殊字符实现LED灯效果

 1 a = "  ********"
 2 b = "  *       "
 3 c = "         *"
 4 d = "  *      *"
 5 num = [
 6     [a,d,d,d,d,d,a],
 7     [c,c,c,c,c,c,c],
 8     [a,c,c,a,b,b,a],
 9     [a,c,c,a,c,c,a],
10     [d,d,d,a,c,c,c],
11     [a,b,b,a,c,c,a],
12     [a,b,b,a,d,d,a],
13     [a,c,c,c,c,c,c],
14     [a,d,d,a,d,d,a],
15     [a,d,d,a,c,c,c]
16 ]
17 int1 = input("输入数字:")
18 for i in range(7):
19     for j in int1:
20         print(num[int(j)][i], end="  ")
21     print()

结果:

 

posted @ 2016-10-24 18:27  gege4105  Views(110)  Comments(0Edit  收藏  举报