【问题标题】:python files - who to open corectlypython文件-正确打开谁
【发布时间】:2019-01-16 22:21:21
【问题描述】:

我们有一些数学问题的文件,例如: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

【问题讨论】:

  • 如果您搜索短语“Python 读取文件”,您会发现比我们在此处的答案中更能解释它的资源。
  • 您将需要有关从一般文件中读取以及将行拆分为字段的教程。
  • 你能解释一下吗:We can't know how many exerxises or digits in evert number.

标签: python python-2.7 file math


【解决方案1】:

也许你想得到这个(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)

【讨论】:

  • 请修正缩进
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 2022-11-24
  • 2011-05-21
  • 2023-01-25
  • 1970-01-01
相关资源
最近更新 更多