我們有一些數學問題的文件,例如:46 + 19(只有 + 或 - 并且它是這樣構建的:數字,空格,符號,空格,數字),我們需要將其轉換為一個新文件并解決它們(46 + 19 = 65)。我們不知道會有多少練習或每個數字的位數。這是我的代碼:enter code hereinput_file = open(r'C:\try\bla.txt', 'r')nums = input_file.read()y = 0dig1 = ''dig2 = ''sign = ''x1 = nums.find(' ')x2 = x1 + 1def one(dig1, dig2, y): for i in xrange(x1): dig1 += nums[y] y += 1 for m in xrange(abs(-x2)): dig2 += nums[y + 1] y += 1sign = nums[x2]if sign == '+': sum = int(dig1) + int(dig2)if sign == '-': sum = int(dig1) - int(dig2)print dig1, dig2, '=', sumfor a in xrange(0): one(dig1, dig2, y)one(dig1, dig2, y)print 'f', nums[21]#print dig1, dig2, '=', sum
1 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
也許你想得到這個(python3):
test.txt:
10 + 15
22 - 71
33 + 64
代碼:
import operator
op = {'+': operator.add, '-': operator.sub}
with open('test.txt', 'r') as f:
lines = f.readlines()
for i in lines:
args = i.split()
val = op[args[1]](int(args[0]), int(args[-1]))
r = f'{i.strip()} = {val}'
print(r)
添加回答
舉報
0/150
提交
取消