python做法咋解决没有思路

函数main接收一个字符串s,要求把其中的阿拉伯数字012345689分别零,一,二,三,四,五,六,七,八,九,其他非阿拉伯数字保持不变,返回处理后的新字符串,注意要用单引号。
(用python)

创建一个字典,以0~9作为键,以其对应的中文作为值,然后替换字符串

def main(str):
    dict_num = {'0': '零', '1': '一', '2': '二', '3': '三', '4': '四',
                '5': '五', '6': '六', '7': '七', '8': '八', '9': '九'}
    for i in str:
        if i in dict_num.keys():
            str = str.replace(i, dict_num[i])
    return str
def main(str):
    dict_num = {'0': '零', '1': '一', '2': '二', '3': '三', '4': '四',
                '5': '五', '6': '六', '7': '七', '8': '八', '9': '九'}
    list1 = []
    for i in str:
        if i in dict_num.keys():
            list1.append(dict_num[i])
        else:
            list1.append(i)
    print(list1)
    new_str = ''.join(list1)   # 转为字符串
    return new_str


str = input()
print(main(str))

s.replace()