Python

Решить две задачи на питоне. Помогите пожалуйста

В задачах с файлами много важных деталей. Возьмём, например, задачу про квадратные корни. Для исходных данных и для добавления в него результатов заведём файл result.txt. Вот что там будет записано:Теперь запускаем такой код:
 import decimal 
def sqrt(a):
if a == 0: return 0
x = decimal.Decimal(1)
while True:
y = (x + a / x) / 2
if x == y: return x
else: x = y
X = []
with open('/storage/emulated/0/Py³/Python3/result.txt', 'r+') as f:
for i in range(10):
x = decimal.Decimal(f.readline())
X.append(str(sqrt(x)) + '\n')
for i in range(10): f.write(X[i])
Он прочитает исходные данные из файла, который у меня на всякий случай обозначается его полным именем на фаблете, хотя это и не обязательно, и сначала в массив из десяти чисел запишет квадратные корни первых десяти натуральных чисел, вычисленные с довольно большой точностью, а потом все элементы из этого массива запишет в конец файла, причём каждый элемент с новой строки. Всё - программа выполнена! Заходим в файл result.txt и смотрим результаты работы программы. Вот как исходный файл при этом изменится:А если формат исходных данных заранее неизвестен (сколько там всего чисел? как они записаны - в одну колонку, в две колонки, в три? нет ли там пустых строк или каких-нибудь излишних нечисловых данных?), то в таком случае и код должен быть в чём-то иным, а может быть и совершенно иным, а главное - его спецификации (то есть требования к этому коду). То же самое касается и задачи про телефонных абонентов - у неё вполне чёткая постановка, но и тут возможен всякий произвол в формате записи данных...
Александр Никитин
Александр Никитин
66 572
Лучший ответ
Алексей Кривцов Спасибо!
В задаче про абонентов четко не было поставлено условие записи, вы правы, но, когда я пыталась я писала 10 человек в виде:
  1. Иванов Иван Иванович 89632714835 г. Москва и так далее
Алексей Кривцов Можете пожалуйста ещё раз помочь? Мне кровь из носу нужна эта первая задача, но я категорически не понимаю как её делать