1.用传统方法计算一个数的二进制
1.只能计算小于2**16的数字
i = 17
num_2 = int(input("输入一个数字:").strip())
while True:
i -= 1
if i < 0:
break
if 2 ** i > num_2:
print(0,end="")
else:
print(1,end="")
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.用特殊字符输出一个指定高和底的空心长方形
gao = int(input("输入高:").strip())
di = int(input("输入底").strip())
count1 = 1
while count1 <= gao:
count2 = 0
while count2 <= di:
count2 += 1
if 2 <= count1 < gao and 2 <= count2 <= di:
print(" ",end="")
continue
print("#",end="")
print()
count1 +=1
结果:
3.用特殊字符实现LED灯效果
a = " ********"
b = " * "
c = " *"
d = " * *"
num = [
[a,d,d,d,d,d,a],
[c,c,c,c,c,c,c],
[a,c,c,a,b,b,a],
[a,c,c,a,c,c,a],
[d,d,d,a,c,c,c],
[a,b,b,a,c,c,a],
[a,b,b,a,d,d,a],
[a,c,c,c,c,c,c],
[a,d,d,a,d,d,a],
[a,d,d,a,c,c,c]
]
int1 = input("输入数字:")
for i in range(7):
for j in int1:
print(num[int(j)][i], end=" ")
print()
结果: