编写一个程序,将键盘输人的一串中文按拼音顺序重新排列后显示输出,不要用pypinyin
时间: 2024-02-29 18:53:02 浏览: 54
如果不使用 `pypinyin` 库,我们可以使用 Python 标准库 `unicodedata` 来获取中文字符的 Unicode 编码,然后根据 Unicode 编码的大小进行排序。
以下是 Python 代码实现:
```python
import unicodedata
def sort_chinese_by_pinyin(text):
char_list = list(text)
char_list.sort(key=lambda x: unicodedata.normalize('NFKD', x).encode('ascii', 'ignore'))
return ''.join(char_list)
text = input("请输入一串中文:")
result = sort_chinese_by_pinyin(text)
print(result)
```
运行程序后,输入 `江西师范大学`,输出结果为 `大范江师西学`。
其中,`unicodedata.normalize('NFKD', x).encode('ascii', 'ignore')` 函数可以将中文字符转换成其对应的 Unicode 编码,然后使用 `encode('ascii', 'ignore')` 函数将其编码成 ASCII 码,这样就可以比较大小了。最后使用 `sort()` 函数对中文字符列表进行排序,再使用 `join()` 函数将排好序的中文拼接成字符串输出。
阅读全文