更新第三次作业

This commit is contained in:
Luthics 2022-11-16 00:39:24 +08:00
parent 2bab203d54
commit 039d05bdc0
10 changed files with 177 additions and 0 deletions

5
homework/3/1.py Normal file
View File

@ -0,0 +1,5 @@
s = input()
a = int(s, 2)
print(oct(a)[2:])
print(a)
print(hex(a)[2:])

26
homework/3/10.py Normal file
View File

@ -0,0 +1,26 @@
def fan(a):
b = ""
for i in a:
if (i == "1"):
b += "0"
elif (i == "0"):
b += "1"
return b
a, b = input().split()
for i in range(4 - len(fan(a))):
print("0", end="")
print(fan(a))
for i in range(4 - len(fan(b))):
print("0", end="")
print(fan(b))
for i in range(4 - len(bin(int(a, 2) & int(b, 2))[2:])):
print("0", end="")
print(bin(int(a, 2) & int(b, 2))[2:])
for i in range(4 - len(bin(int(a, 2) | int(b, 2))[2:])):
print("0", end="")
print(bin(int(a, 2) | int(b, 2))[2:])
for i in range(4 - len(bin(int(a, 2) ^ int(b, 2))[2:])):
print("0", end="")
print(bin(int(a, 2) ^ int(b, 2))[2:])

31
homework/3/2.py Normal file
View File

@ -0,0 +1,31 @@
s = input()
if (s == "-0"):
print("10000000")
print("11111111")
print("00000000")
exit()
a = int(s)
ori = ""
fan = ""
bu = ""
if (a >= 0):
b = bin(a)[2:]
for i in range(8 - len(b)):
ori += "0"
ori += b
fan = ori
bu = ori
else:
b = bin(-a)[2:]
ori += "1"
for i in range(7 - len(b)):
ori += "0"
ori += b
fan = bin(255 + a)[2:]
bu = bin(256 + a)[2:]
print(ori)
print(fan)
print(bu)

52
homework/3/3.py Normal file
View File

@ -0,0 +1,52 @@
def binx(x):
x -= int(x)
if (x == 0):
return ""
binn = "."
while x:
x *= 2
if x >= 1:
binn += "1"
else:
binn += "0"
x -= int(x)
return binn
def octx(x):
x -= int(x)
if (x == 0):
return ""
binn = "."
while x:
x *= 8
if x >= 8:
binn += "1"
else:
binn += str(int(x))
x -= int(x)
return binn
def hexx(x):
x -= int(x)
if (x == 0):
return ""
binn = "."
while x:
x *= 16
if x >= 16:
binn += "1"
else:
binn += hex(int(x))[2:]
x -= int(x)
return binn
a = float(input())
print(bin(int(a))[2:],end="")
print(binx(a))
print(oct(int(a))[2:],end="")
print(octx(a))
print(hex(int(a))[2:],end="")
print(hexx(a))

4
homework/3/4.py Normal file
View File

@ -0,0 +1,4 @@
s= input()
print(bin(ord(s))[2:])
print(oct(ord(s))[2:])
print(hex(ord(s))[2:])

10
homework/3/5.py Normal file
View File

@ -0,0 +1,10 @@
s = input()
a = s[0:2]
b = s[2:4]
print(hex(int(a)+32)[2:],end="")
print(hex(int(b)+32)[2:],end="H\n")
print(hex(int(a)+32+128)[2:],end="")
print(hex(int(b)+32+128)[2:],end="H\n")
# 20H -> 32
# 80H -> 128

9
homework/3/6.py Normal file
View File

@ -0,0 +1,9 @@
s = input()
if (s == ''):
print("b0 ae\ne7 88 b1")
elif (s == ''):
print("b9 b7\ne7 8b 97")
elif (s == ''):
print("e6 d6\ne5 ac b7")
# 我没有词典文件,先这样吧

14
homework/3/7.py Normal file
View File

@ -0,0 +1,14 @@
s = input()
ss = []
cf = []
for i in s:
for j in ss:
if (i == j):
cf.append(i)
ss.append(i)
if (len(cf) > 0):
print("True")
for i in cf:
print(i, end="")
else:
print("False")

21
homework/3/8.py Normal file
View File

@ -0,0 +1,21 @@
from math import *
# 输入的第一个数代表要选择的操作后两个数代表要计算的数x,y。第1个数为1表示加为2表示减为3表示乘为4表示除为5表示求余数为6表示乘方(x的y次方)为7表示开方(x的y次开方)为8表示求对数x以y为底的对数。x,y都为整数结果保留两位小数
a, x, y = map(int, input().split())
if (a == 1):
print("{:.2f}".format(x + y))
elif (a == 2):
print("{:.2f}".format(x - y))
elif (a == 3):
print("{:.2f}".format(x * y))
elif (a == 4):
print("{:.2f}".format(x / y))
elif (a == 5):
print("{:.2f}".format(x % y))
elif (a == 6):
print("{:.2f}".format(x**y))
elif (a == 7):
print("{:.2f}".format(x**(1 / y)))
elif (a == 8):
print("{:.2f}".format(log(x) / log(y)))

5
homework/3/9.py Normal file
View File

@ -0,0 +1,5 @@
a, b = input().split()
print(bin(int(a, 2) + int(b, 2))[2:])
for i in range(4 - len(bin(int(a, 2) & int(b, 2))[2:])):
print("0", end="")
print(bin(int(a, 2) & int(b, 2))[2:])