中文数字转数字 python

替换中文数字

从键盘输入一串含有中文数字和阿拉伯数字的字符串,如:12一二你好九零。请将字符串中的中文数字替换为阿拉伯数字,其他字符保持不变。

提示说明:1. 输入字符串长度没有规定,可以任意长度的字符串;2. 输入字符串内容视为必须含有中文数字和阿拉伯数字。

输入输出示例:

img

参考GPT和自己的思路:

非常感谢您的咨询,对于这个问题,可以通过Python中的正则表达式来实现中文数字和阿拉伯数字的替换。

具体的代码如下:

import re

def chinese_to_arabic(s):
    ch_dict = {'零': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
    pattern = re.compile('[零一二三四五六七八九]')
    result = ""
    for char in s:
        if pattern.match(char):
            result += str(ch_dict[char])
        else:
            result += char
    return result

s = input("请输入包含中文和阿拉伯数字的字符串:")
result = chinese_to_arabic(s)
print(result)

这里定义了一个chinese_to_arabic函数来实现中文数字和阿拉伯数字的替换,首先定义了一个包含中文数字和阿拉伯数字对应关系的字典,然后使用正则表达式匹配中文数字,将匹配到的中文数字替换为对应的阿拉伯数字,并将结果转换为字符串输出。

通过这段代码,您可以实现中文数字和阿拉伯数字的替换。希望我的回答能够帮助到您,如果您还有其他相关问题,可以随时向我提问。

参考GPT和自己的思路:

你好,针对你的问题,我可以给你提供一个Python函数来实现中文数字转阿拉伯数字的功能:

def chinese_to_arabic(string):
    digits = {'零': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
    result = ''
    for char in string:
        if char in digits:
            result += str(digits[char])
        else:
            result += char
    return result

这个函数使用了一个名为digits的字典来映射中文数字和阿拉伯数字,之后遍历整个字符串,如果字符是中文数字,则替换为它对应的阿拉伯数字,否则保持不变。最终返回替换后的字符串。

你可以使用以下代码来测试这个函数:

string = input('请输入字符串:')
print(chinese_to_arabic(string))

这个代码会让用户输入一个字符串,并将其输入到chinese_to_arabic函数中,然后输出替换后的字符串。

希望我的回答能够帮到你,如果你有其他关于计算机的问题,可以随时向我咨询。

思路,定义一个数组,内容是中文的数字字符
然后直接取索引