BinshaS Ответов: 0

Передача Strin в методе класса Python


Моя входная строка из файла такова
АВИАЦИЯ НАЦИОНАЛЬНОЙ ГВАРДИИ
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
Мой выход должен быть
АВИАЦИЯ НАЦИОНАЛЬНОЙ ГВАРДИИ
0.0
0.0
0.0
0.0
0.0
0.0
100
0.3
Но теперь мой вход такой же, как и выход .Последние два нуля под строкой ANG должны быть заменены на 100.0 и 0.3 соответственно.Пожалуйста, помогите мне получить необходимый результат.

Что я уже пробовал:

import re
class Calculate:
    def angCal(self,direction,magnitude,string):
        cnt=0
        if cnt<=6:
            f4.write(string)
            cnt+=1
        elif cnt==7:
            string=str(direction)+"\n"
            f4.write(string)
            cnt += 1
        elif cnt==8:
            string = str(magnitude) + "\n"
            f4.write(string)
            cnt += 1
        elif cnt==9:
            cnt += 1
angFlag=0
angcnt=0
f1=open("nominal.txt","r")
f4=open("pp.txt","w")
obj=Calculate()
for line in f1.readlines():
    string=line
    if re.match(r'ANG',string):
        angFlag=1
        f4.write(string)
    elif angFlag==1 and angcnt==0:

        direction=100
        magnitude=0.3
        print(string)
        obj.angCal(direction,magnitude,string)
        angFlag=0
        angcnt+=1
    elif angFlag==1 and angcnt==1:
        direction=315
        magnitude=0.4
    else:
        f4.write(string)

Mohibur Rashid

Я понимаю ваше требование, но не понимаю, почему вы это делаете. Это необходимо для здравомыслия!

Mohibur Rashid

Вместо этого, если вы зацикливаетесь, добавьте все в массив и замените последние 2

BinshaS

Как добавить их в массив .Пожалуйста помочь

BinshaS

Не могли бы вы помочь мне с кодом

0 Ответов