一些小题<代码>

时间:2023-03-09 08:50:40
一些小题<代码>

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()

结果:

一些小题<代码>