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