Программирование на Python работы с текстом, строками, числами или массивами и даже работа с файлами мало вдохновляют.

С библиотекой Pygame на Python Вы можете решать свои примеры с вводом/выводом в оконном графическом интерфейсе. Создание на Python рабочего окна не потребует от Вас много усилий. Установите модуль Pygame, скопируйте каркас программы с графическим интерфейсом и можете начинать писать свои программы на новом уровне.
Каркас для программы на Python которая выводит текст и переменную в окно с графическим интерфейсом: 

#!/usr/bin/env python3
 
import pygame, sys
from pygame.locals import *
 
FPS = 50
silver = (194, 194, 194)
black = (0, 0, 0)
 
pygame.init()
screen = pygame.display.set_mode((600, 400),RESIZABLE, 32)
clock = pygame.time.Clock()
font = pygame.font.SysFont("Ubuntu Condensed", 35, bold=False, italic=False)
year = 2021
 
while True:
    clock.tick(FPS)
    for i in pygame.event.get():
        if i.type == QUIT:
            pygame.quit()
            sys.exit()
        elif i.type == KEYDOWN:
            print(i.key)
    year = year + 1
    screen.fill(black)
    text = font.render("Привет Мир! "+str(year)+" год!",True,silver)
    screen.blit(text, [150,170])
    pygame.display.update()

В переменных silver и black определены значения соответствующих цветов в формате RGB.

Функция screen = pygame.display.set_mode((600, 400),RESIZABLE, 32) создаёт объект окно размером 600х400 px с возможностью изменения этого размера и с глубиной цвета 32 bit.

Функция font = pygame.font.SysFont("Ubuntu Condensed", 35, bold=False, italic=False) создаёт объект font содержащий параметры шрифта. Первый аргумент функции SysFont("Ubuntu Condensed"35, bold=False, italic=False) - это имя системного шрифта. Укажите вместо названия шрифта ключевое слово None и шрифт будет выбран по умолчанию. Второй аргумент функции SysFont - размер шрифта.

Созданное нами окно, объект screen, закроется после завершения программы, а чтобы программа работала долго и окно самопроизвольно не закрылось, мы создали бесконечный цикл while True.

Метод event.get() обновляет список событий, а в цикле for in каждое из этих событий сравнивается в операторе if … elif с константой QUIT и KEYDOWN:

  • В QUIT хранится код закрытия окна (Alt+F4), соответствующий щелчку мыши по крестику в заголовке окна. Если событие QUIT произошло, то окно закроется функцией pygame.quit() и программа будет завершена функцией sys.exit().
  • В KEYDOWN хранится код события “нажата клавиша”. Если событие KEYDOWN произошло, то можно считать код нажатой клавиши, что мы и делаем в функции print().

Функция screen.fill(black) очищает рабочую область окна, заливая его определённым цветом.

Функция text = font.render("Привет Мир! "+str(year)+" год!",True,silver) создаёт графический объект, содержащий текст и атрибуты.

Функция screen.blit(text, [150,170]) записывает графический объект в кадровый буфер окна в виде прямоугольной области начиная с заданной в параметрах функции blit координаты.

Функция display.update() обновляет содержимое окна. Если мы, в дальнейшем, организуем в цикле while вывод в окно графической или текстовой информации, то функция update(), с частотой FPS (кадров в секунду) будет отображать эту информацию в нашем окне. Окно PyGame

За дополнительной информацией можно обратиться к справочнику функций библиотеки Pygame.

<<< Создание игр на Python с Pygame Ω Python графическая библиотека Turtle >>>