eval() 使用传统除号 (÷) 的问题

eval() questions with traditional divide symbol (÷)

我有很多除法题要解决,如果用“/”写的话,现在就可以解决了,但是来源是学校老师而不是程序员,所以问题是这样的:

346÷30=

432÷40=

94÷40=

很明显python不喜欢除号:

eval(762÷80=) SyntaxError: invalid character in identifier

替换只是愚蠢:

text_file = open("...questions.txt", "r")
lines = text_file.read().split('\n')
for line in range(len(lines)):
    lines[line].replace(u"\u00F7", "/")
    print(lines[line])

我最初用符号尝试过:

text_file = open("...questions.txt", "r")
lines = text_file.read().split('\n')
for line in range(len(lines)):
    lines[line].replace("÷", "/")
    print(lines[line])

但无论哪种方式,结果都是

346÷30=
432÷40=
94÷40=

我真的不知道还有什么可以尝试的,我不想通过手动替换除法符号来完成这一切,这样我就可以像往常一样 运行 eval() .

欢迎提出任何建议,even/especially如果有其他方法可以解决此问题。

replace returns 新字符串,所以必须赋值:

lines[line] = lines[line].replace("\u00F7", "/")

当你这样做的时候,你可以大大清理你的代码;打开文件时使用 with 语句并遍历文件以获取行:

with open("...questions.txt", "r") as text_file:
    for line in text_file:
        line = line.replace("÷", "/")
        print(line)