У меня есть задание написать класс BMI
со следующими переменными экземпляра: first_name
, last_name
, identity_card
, height
и weight
. Я должен рассчитать значение ИМТ. Мне также нужно написать программу, которая будет считывать файл в экземпляры класса BMI
. Программа рассчитает значение ИМТ и распечатает все исходные данные плюс рассчитанный ИМТ для нового файла.
Например, с файлом:
Yossi Bar 012345678 178 70
Yuri Gagarin 123456789 157 50
Dana Kama 234567890 160 60
Yona Anerox 345678901 165 43
Dina Dot 456789012 170 80
Rubi Rasmos 567890123 180 100
Rodika Rambam 678901234 170 60
Моя проблема в том, что я не могу понять, как добавить расчет ИМТ в новый файл.
Вот что у меня есть:
class BMI:
def __init__(self, first_name, last_name, identity_card, height, weight):
self._first_name = first_name
self._last_name = last_name
self._identity_card = identity_card
self._height = height
self._weight = weight
def GetName(self):
return self._first_name + " " + self._last_name
def GetID(self):
return self.identity_card
def GetHeight(self):
return self.height
def GetWeight(self):
return self.weight
def GetBMI(self):
return (self._weight) / self._height ** 2
def makebmi(infostr):
first_name, last_name, identity_card, height, weight = infostr.split("\t")
return BMI(first_name, last_name, identity_card, height, weight)
def main():
filename = input("enter the file name: ")
newfilename = input("enter the new file name: ")
with open(filename,'r') as firstfile, open(newfilename,'a') as secondfile:
# read content from first file
for line in firstfile:
# append content to second file
secondfile.write(line)
if __name__ == '__main__':
main()
line = '{}\t{}'.format(line, makebmi.GetBMI())
. - person Reti43   schedule 13.02.2021