我目前正在尝试处理从用户处获取输入的代码,要求他们打开包含数学问题的文件,然后输出一个解决这些问题的文件。我一直在寻求某种形式的解决方案,这一切都结束了,但这些都是我得到的最接近:将带数学问题的文本文件转换为带有这些问题的答案的文本文件
文本文件的内容:
2 + 2
3 * 3
4.5 - 2.3
-8.8 + 1.2
2^4
8.9/2.3
5%3
-2 * -2
尝试1:
input_file_name = input("What file would you like to open? ")
output_file_name = input("What file would you like to write to? ")
with open(input_file_name,"r") as input_file:
contents = input_file.readlines()
num = "".join(contents)
contents_length = len(num)
with open(output_file_name, "w") as output_file:
while contents_length >= 0:
num = num.replace("^","**") # change the^to ** so python can properly do the function
contents_value = exec(num)
contents_length = contents_length - 1
output_file.write(str(contents_value))
我接收到的文本文件将返回 “无”
尝试2:
input_file_name = input("What file would you like to open? ")
output_file_name = input("What file would you like to write to? ")
infile = open(input_file_name, "r")
outfile = open(output_file_name, "w")
lines = infile.readlines()
i = len(lines) - 1
while i >= 0:
ans = eval(lines[i])
outfile.write(str(ans))
i = i - 1
infile.close()
outfile.close()
而且文本文档文件中有423.86956521739130476-7.60000000000000052.294。
所以,我真的不知道还有什么要做。任何帮助将不胜感激。
啊!非常感谢! – bcochran
我没有意识到,我实际上已经了解了eval和exec今天,哈哈。但是,谢谢你的头! – bcochran
如果我希望输出文件具有原始表达式+ = +答案,该怎么办? – bcochran