Я написал программу, но в ней не должно присутствовать списков, строк(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 шт):

Автор решения: CrazyElf

Ну, видимо как-то так:

same_length = same_length and len(line.strip()) == num_digits

Просто фактически делаем and между всеми сравнениями числа символов между первой строкой и всеми последующими строками. Для этого используем логическую переменную и больше ничего.

→ Ссылка