我需要用Python3编写一个程序,以拉丁字母表中的用户名作为输入,然后将拉丁字符音译为俄语西里尔字母,然后打印出来。我已经将每个拉丁字母与俄文字母相等,然后我考虑使用if语句对每个字符执行转换,但当然没有成功,因为当用户键入多个字符时,程序返回else语句。我需要程序接受输入字符串并相应地一个接一个地打印对应字母。如果用户键入“David”,则程序应打印Баааааа”
这是我的搞笑代码:
A = "А"
B = "Б"
V = "В"
G = "Г"
D = "Д"
E = "Э"
YE = "Е"
YO = "Ё"
ZH = "Ж"
Z = "З"
I = "И"
Y = "Й"
K = "К"
L = "Л"
M = "М"
N = "Н"
O = "О"
P = "П"
R = "Р"
S = "С"
T = "Т"
U = "У"
F = "Ф"
H = "Х"
C = "Ц"
CH = "Ч"
SH = "Ш"
SHCH = "Щ"
YU = "Ю"
YA = "Я"
YY = "Ы"
a = "а"
b = "б"
v = "в"
g = "г"
d = "д"
e = "э"
ye = "е"
yo = "ё"
zh = "ж"
z = "з"
i = "и"
y = "й"
k = "к"
l = "л"
m = "м"
n = "н"
o = "о"
p = "п"
r = "р"
s = "с"
t = "т"
u = "у"
f = "ф"
h = "х"
c = "ц"
ch = "ч"
sh = "ш"
shch = "щ"
yy = "ы"
yu = "ю"
ya = "я"
print("Latin-to-Russian transliterator")
trans = input("Please enter your name: ")
if trans == "a":
print(a)
elif trans == "b":
print(b)
elif trans == "c":
print(c)
else:
print("sorry")
将查找字典与正则表达式一起使用
现在将键从最长到最短进行排序
对任何匹配项执行re.sub
通过从最长到最短排序,您将更喜欢较长的匹配,从而确保正确解释多字节字符
相关问题 更多 >
编程相关推荐