Я написал программу, но в ней не должно присутствовать списков, строк(str, len)
Задача: Дан текстовый файл с именем num.txt, в файле записаны N целых чисел, по одному в строке. Требуется определить, правда ли, что в данной последовательности все числа состоят из одинакового количества цифр. Обязательно использовать логическую переменную и НЕ использовать оператор ветвления в теле цикла. Списки использовать запрещается, а файл для чтения открывать только один раз. Мой код:
with open('num.txt', 'r') as file:
line = file.readline()
if not line:
print("Файл пуст")
else:
num_digits = len(line.strip())
same_length = True
for line in file:
if len(line.strip()) != num_digits:
same_length = False
break
if same_length:
print("Все числа в файле имеют одинаковое количество цифр.")
else:
print("Числа в файле имеют разное количество цифр.")
Прошу помочь с исправлением программы, в ней не должно быть строк, списков
Ответы (1 шт):
Ну, видимо как-то так:
same_length = same_length and len(line.strip()) == num_digits
Просто фактически делаем and между всеми сравнениями числа символов между первой строкой и всеми последующими строками. Для этого используем логическую переменную и больше ничего.