From 039d05bdc0648edbc43fe63d7dc7f5e3cea017ba Mon Sep 17 00:00:00 2001 From: Luthics Date: Wed, 16 Nov 2022 00:39:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=AC=AC=E4=B8=89=E6=AC=A1?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homework/3/1.py | 5 +++++ homework/3/10.py | 26 ++++++++++++++++++++++++ homework/3/2.py | 31 +++++++++++++++++++++++++++++ homework/3/3.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ homework/3/4.py | 4 ++++ homework/3/5.py | 10 ++++++++++ homework/3/6.py | 9 +++++++++ homework/3/7.py | 14 +++++++++++++ homework/3/8.py | 21 +++++++++++++++++++ homework/3/9.py | 5 +++++ 10 files changed, 177 insertions(+) create mode 100644 homework/3/1.py create mode 100644 homework/3/10.py create mode 100644 homework/3/2.py create mode 100644 homework/3/3.py create mode 100644 homework/3/4.py create mode 100644 homework/3/5.py create mode 100644 homework/3/6.py create mode 100644 homework/3/7.py create mode 100644 homework/3/8.py create mode 100644 homework/3/9.py diff --git a/homework/3/1.py b/homework/3/1.py new file mode 100644 index 0000000..abd358c --- /dev/null +++ b/homework/3/1.py @@ -0,0 +1,5 @@ +s = input() +a = int(s, 2) +print(oct(a)[2:]) +print(a) +print(hex(a)[2:]) diff --git a/homework/3/10.py b/homework/3/10.py new file mode 100644 index 0000000..b9b9a75 --- /dev/null +++ b/homework/3/10.py @@ -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:]) \ No newline at end of file diff --git a/homework/3/2.py b/homework/3/2.py new file mode 100644 index 0000000..5f3808d --- /dev/null +++ b/homework/3/2.py @@ -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) \ No newline at end of file diff --git a/homework/3/3.py b/homework/3/3.py new file mode 100644 index 0000000..4f6c690 --- /dev/null +++ b/homework/3/3.py @@ -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)) diff --git a/homework/3/4.py b/homework/3/4.py new file mode 100644 index 0000000..72cf261 --- /dev/null +++ b/homework/3/4.py @@ -0,0 +1,4 @@ +s= input() +print(bin(ord(s))[2:]) +print(oct(ord(s))[2:]) +print(hex(ord(s))[2:]) diff --git a/homework/3/5.py b/homework/3/5.py new file mode 100644 index 0000000..04f0989 --- /dev/null +++ b/homework/3/5.py @@ -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 \ No newline at end of file diff --git a/homework/3/6.py b/homework/3/6.py new file mode 100644 index 0000000..88f22c9 --- /dev/null +++ b/homework/3/6.py @@ -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") + +# 我没有词典文件,先这样吧 \ No newline at end of file diff --git a/homework/3/7.py b/homework/3/7.py new file mode 100644 index 0000000..189ba01 --- /dev/null +++ b/homework/3/7.py @@ -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") \ No newline at end of file diff --git a/homework/3/8.py b/homework/3/8.py new file mode 100644 index 0000000..0240192 --- /dev/null +++ b/homework/3/8.py @@ -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))) diff --git a/homework/3/9.py b/homework/3/9.py new file mode 100644 index 0000000..4106a29 --- /dev/null +++ b/homework/3/9.py @@ -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:])