Как распечатать другой раздел Python в правой части экранаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как распечатать другой раздел Python в правой части экрана

Сообщение Anonymous »


Текущий результат:
Изображение


Код:

импортировать строку класс TextAnalyzer: def __init__(self, текст): self._text = текст self._processed_text = "" self._letter_frequency = {} защита выполнить_анализ (сам): self._preprocess_text() self._calculate_frequency() self._generate_report() защита _preprocess_text(сам): # Преобразуем текст в нижний регистр обработанный_текст = self._text.lower() # Удаление знаков препинания и специальных символов обработанный_текст = обработанный_текст.translate(str.maketrans("", "", string.punctuation)) # Удалить цифры обработанный_текст = обработанный_текст.translate(str.maketrans("", "", "0123456789")) # Убираем лишние пробелы обработанный_текст = " ".join(processed_text.split()) # Установите обработанный_текст в качестве переменной экземпляра self._processed_text = обработанный_текст #return обработанный_текст защита _calculate_frequency(self): # Рассчитать частоту букв для символа в self._processed_text: if char.isalpha(): # Проверяем, является ли символ буквой self._letter_frequency[char] = self._letter_frequency.get(char, 0) + 1 # если символ в Letter_frequency: # Letter_frequency[символ] += 1 # еще: # Letter_frequency[char] = 1 # возврат Letter_frequency защита _generate_report(self): total_letters = sum(self._letter_frequency.values()) # Рассчитать частоту букв в процентах частоты_процент = { Letter: (self._letter_frequency.get(letter, 0) / total_letters) * 100 для буквы в "abcdefghijklmnopqrstuvwxyz" } #Находим максимальное количество звездочек для масштабирования max_asterisks = max(int(percentage) для буквы, процент в частотах_percentage.items()) # Печать форматированного вывода с 2D-представлением # для i в диапазоне (max_asterisks, 0, -1): # строка = "" # для буквы в "abcdefghijklmnopqrstuvwxyz": # процент = частоты_процента.get(буква, 0) # количество звездочек = 0 # если процент > 0 и процент < 4: # количество звездочек = 1 # Процент elif >= 4 и процент < 8: # количество звездочек = 2 # процент элиф >= 8: # количество звездочек = 3 # if asterisks_count >= i: # строка += '*' # еще: # строка += '' # строка += f" | {letter.upper()}" # печать(строка) # Распечатать 5 лучших частот print("\nТоп-5 частот:") для буквы процент в сортировке (frequency_percentage.items(), key=lambda x: x[1],verse=True)[:5]: print(f"{letter.upper()}: {percentage:.2f}%") для i в диапазоне (max_asterisks, 0, -1): #print(" " * 34, end="") для письма в «abcdefghijklmnopqrstuvwxyz»: процент = частоты_процента.get(буква, 0) звездочек_count = 0 если процент > 0 и процент < 4: звездочек_count = 1 Процент elif >= 4 и процент = 8: звездочек_count = 3 если asterisks_count >= i: печать('*', конец=" ") еще: печать(' ', конец=" ") Распечатать() # Печать горизонтального разделителя печать("_" * 75) # Распечатать 2D-представление со звездочками поверх букв #print(" " * 34, end="") для письма в «abcdefghijklmnopqrstuvwxyz»: print(letter.upper(), end=" ") Распечатать() попыток = 0 пока попыток < 3: input_file_name = input("Пожалуйста, введите файл, который вы хотите проанализировать: ") если input_file_name.endswith('.txt') и os.path.exists(input_file_name): input_text = Caesar.openFile(имя_входного_файла) если input_text равен None: print("Ошибка: невозможно прочитать файл.") попытки += 1 еще: перерыв еще: print("Неверное имя файла или файл не существует. Пожалуйста, включите расширение «.txt».) попытки += 1 еще: print("Не удалось прочитать файл после 3 попыток. Возврат в главное меню.") continue # Переход к следующей итерации цикла главного меню анализатор = TextAnalyzer(input_text) печать(анализатор) анализатор.perform_anaанализ() Это мой предполагаемый результат:
Изображение


Мне удалось распечатать левую часть экрана, но когда я пытаюсь распечатать правую часть, у меня появляется такая ошибка:


Изображение


Файл представляет собой сохраненный блокнот txt с содержимым:

"Мерцай, мерцай звездочка, Как я же потрясен тем, кто ты есть. Над небом так высоко, как алмаз в небе." У меня нет проблем с астериками, но я очень сильно ломал голову над тем, как получить правильный размер вывода на экран, поскольку я использую цикл for для его генерации.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сделать так, чтобы подразделы появлялись в правой части раздела «Комнаты» при наведении курсора на раздел «Комнаты»
    Anonymous » » в форуме CSS
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous
  • В графике Python Turtle отсутствуют пиксели с правой стороны и нижней части экрана
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Выпадающее меню выходит за пределы правой части экрана
    Anonymous » » в форуме CSS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Выпадающее меню выходит за пределы правой части экрана
    Anonymous » » в форуме CSS
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Шейдеры Kivy появляются только в верхней правой части экрана.
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»