动态构建unicode字符?



如何动态输出给定此字典的正确unicode数:

UNICODE_CHARS = {
0: "u2070",
1: "u00B9",
2: "u00B2",
3: "u00B3",
4: "u2074",
5: "u2075",
6: "u2076",
7: "u2077",
8: "u2078",
9: "u2079",
}
例如:数字177应该是:

print(f"{UNICODE_CHARS.get(1)}{UNICODE_CHARS.get(7)}{UNICODE_CHARS.get(7)}")

如何在循环中构造这个?

for i in range(1000):
# how to print each number here with unicode? Up until 9 is easy
# eg UNICODE_CHARS.get(i), but after 9 it gets tricky, and with 2, 3, or 4 digits even harder 
print(....) 

首先,您应该从Char ->Char(而不是int ->字符).

然后将数字(i)转换为字符串,并为每个"数字"构建映射字符列表;

然后使用".join

将列表再次转换为字符串完整的示例:

UNICODE_CHARS = {
"0": "u2070",
"1": "u00B9",
"2": "u00B2",
"3": "u00B3",
"4": "u2074",
"5": "u2075",
"6": "u2076",
"7": "u2077",
"8": "u2078",
"9": "u2079",
}
for i in [1, 9, 123, 177]:
print("".join([UNICODE_CHARS[c] for c in str(i)]))
输出:

¹
⁹  
¹²³
¹⁷⁷

我已将您的range更改为列表,但它与range相同。

最新更新