我有很多分组问题需要解决,如果它们是用“/”编写的话,现在已经完成了,但是源代码是学校老师而不是程序员,所以问题看起来像这样:
显然python不喜欢分隔符号:346÷30 =
432÷40 =
94÷40 =
eval(762÷80 =)SyntaxError:标识符
中的无效字符
并且替换只是愚蠢:
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()。
任何建议,欢迎,甚至/特别是如果有另一种解决这个问题的方法。
答案 0 :(得分:2)
replace
返回新字符串,因此您必须指定它:
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)