pseudocode中的case在Python中应该怎样实现?
pseudocode中的case在Python中应该怎样实现?我有如下pseudocode(伪代码),目的是将十进制数转化为十六进制,该如何将其编写为Python代码?主要问题是不知道case在Python中如何实现。
INPUT X
WHILE X > 15
DO
T1 <-- X DIV 16
T2 <-- X MOD 16
CASE T2 OF
10:OUTPUT A
11:OUTPUT B
12:OUTPUT C
13:OUTPUT D
14:OUTPUT E
15:OUTPUT F
OTHERWISE OUTPUT T2
ENDCASE
X <-- T1
END WHILE
CASE X OF
10:OUTPUY A
11:OUTPUT B
12:OUTPUT C
13:OUTPUT D
14:OUTPUT E
15:OUTPUT F
OTHERWISE OUTPUT X
ENDCASE 用内置函数就可以 hex(x) 漁滒 发表于 2021-4-30 20:03
用内置函数就可以 hex(x)
我知道,但是这是我们的作业,将这段伪代码用Python代码编写。 luzhiyao 发表于 2021-4-30 20:22
我知道,但是这是我们的作业,将这段伪代码用Python代码编写。
在python3.10才增加了这种语法。示例如下,其他版本使用if,else代替
http_code = "418"
match http_code:
case "200":
print("OK")
do_something_good()
case "404":
print("Not Found")
do_something_bad()
case "418":
print("I'm a teapot")
make_coffee()
case _:
print("Code not found") 要么用if... elif... elif... else
要么用字典,类似这种switch = {"a":lambda x:x*2, "b":lambda x:x*3,"c":lambda x:x**x} 作业需要自己动脑筋啊 x=int(input("x?"))
while x>15:
t1=x//16
t2=x%16
if t2==10:
print("A")
elif t2==11:
print("B")
elif t2==12:
print("C")
elif t2==13:
print("D")
elif t2==14:
print("E")
elif t2==15:
print("F")
else:
print(t2)
x=t1
if x==10:
print("A")
elif x==11:
print("B")
elif x==12:
print("C")
elif x==13:
print("D")
elif x==14:
print("E")
elif x==15:
print("F")
else:
print(x)
作业写完了,根据Pseudocode来的,在应用时有许多可以优化的地方。
页:
[1]