файлы python - кому открывать - PullRequest
0 голосов
/ 17 января 2019

У нас есть файл с некоторыми математическими задачами, такими как: 46 + 19 (только + или - и он построен следующим образом: число, пробел, знак, пробел, число), и нам нужно преобразовать его в новый файл и решить их (46 + 19 = 65). Мы не знаем, сколько будет упражнений или количество цифр в каждом номере. Вот мой код:

enter code here
input_file = open(r'C:\try\bla.txt', 'r')
nums = input_file.read()

y = 0
dig1 = ''
dig2 = ''
sign = ''
x1 = nums.find(' ')
x2 = x1 + 1

def 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 += 1

sign = nums[x2]

if sign == '+':
    sum = int(dig1) + int(dig2)

if sign == '-':
    sum = int(dig1) - int(dig2)

print dig1, dig2, '=', sum


for a in xrange(0):
    one(dig1, dig2, y)

one(dig1, dig2, y)
print 'f', nums[21]
#print dig1, dig2, '=', sum

1 Ответ

0 голосов
/ 17 января 2019

Может быть, вы хотите получить это (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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...