Как написать легкую программу на python


Загрузить PDF


Загрузить PDF

Python является простым, но мощным языком программирования. Вы изучили основы Python, но не знаете, как их применять? Из этой статьи вы узнаете, как написать программу, которая вычислит, сколько дней, минут и секунд прошло с момента вашего рождения. Это простая программа, которая поможет понять, как работают некоторые функции Python. Имейте в виду, что эта статья предназначена для пользователей, обладающих базовыми знаниями Python.

Шаги

  1. Изображение с названием 1291077 1 2

    1

    Откройте новое окно в оболочке Python. Для этого нажмите Ctrl+N или откройте меню «File» (Файл) и выберите «New window» (Новое окно).

  2. Изображение с названием 1291077 2 2

    2

    Добавьте вводное предложение. Для этого воспользуйтесь функцией «print». Введите первую строку кода:

    print("Вычислим, сколько дней, минут и секунд вы живете.")
    
  3. Изображение с названием 1291077 3 2

    3

    Чтобы узнать имя пользователя, введите вторую строку кода:

    • Переменной «name» будет присвоено имя пользователя.
  4. Изображение с названием 1291077 4 2

    4

    Чтобы узнать возраст, воспользуйтесь функцией «int», потому что пользователь введет цифру:

    print("Введите свой возраст")
    age = int(input("возраст: "))
    
    • Переменой «age» будет присвоен возраст пользователя.
  5. Изображение с названием 1291077 5 2

    5

    Преобразуйте веденный возраст.

    days = age * 365
    minutes = age * 525948     
    seconds = age * 31556926
    
    • Эти строки автоматически вычислят количество дней, минут и секунд на основании введенного возраста.
  6. Изображение с названием 1291077 6 2

    6

    Выведите информацию на экран.

    print(name, "прожил(а)", days, "дней", minutes, "минут и", seconds, "секунд!")
    
  7. Изображение с названием 1291077 7 2

    7

    Поздравьте себя, потому что вы написали программный код, который работает! Сохраните его и запустите; для этого нажмите «Run» (Запустить) > «Run module» (Запустить модуль).

    Реклама

Об этой статье

Эту страницу просматривали 64 310 раз.

Была ли эта статья полезной?

В этом разделе мы обсудим основной синтаксис и разберем пример Python – запустим простую программу для печати Hello World на консоли.

Python предоставляет нам два способа запуска программы:

  • Использование подсказки интерактивного помощника.
  • Использование файла сценария.

Давайте подробно обсудим каждый из них.

Интерактивная подсказка помощника

Python предоставляет нам возможность выполнять инструкции интерактивного помощника. Это предпочтительнее в том случае, когда нас беспокоит вывод каждой строки программы Python.

Чтобы использовать интерактивный режим, откройте терминал(или командную строку) и введите python(python3 в случае, если в вашей системе установлены Python2 и Python3).

Откроется следующее приглашение, в котором мы можем выполнить оператор Python и проверить влияние на консоль.

Первый способ

После написания отчета о печати нажмите клавишу Enter.

Результат "Hello World!"

Здесь мы получаем сообщение “Hello World!” на консоли.

Использование файла сценария(Программирование в режиме сценария)

Подсказка интерпретатора лучше всего подходит для выполнения однострочных операторов кода. Однако мы не можем писать код каждый раз на терминале. Не рекомендуется писать несколько строк кода.

Используя режим сценария, мы можем записать многострочный код в файл, который может быть выполнен позже. Для этого нам нужно открыть редактор, например блокнот, создать файл с именем и сохранить его с расширением .py, что означает «Python». Теперь мы реализуем приведенный выше пример, используя режим скрипта.

print("hello world"); #here, we have used print() function to print the message on the console.  

Чтобы запустить этот файл с именем first.py, нам нужно запустить следующую команду на терминале.

Режим скрипта

Шаг – 1: Откройте интерактивную оболочку Python и нажмите «Файл», затем выберите «Создать», откроется новый пустой скрипт, в котором мы можем написать наш код.

Создание нового файла

Шаг 2: Теперь напишите код и нажмите «Ctrl + S», чтобы сохранить файл.

Результат Hello World

Шаг – 3: После сохранения кода мы можем запустить его, нажав «Выполнить» или «Выполнить модуль». Он отобразит вывод в оболочку.

Выполнить модуль

Результат будет показан следующим образом.

Hello World

Шаг – 4: Кроме того, мы также можем запустить файл с помощью терминала операционной системы. Но мы должны знать путь к каталогу, в котором мы сохранили наш файл.

  • Откройте командную строку и перейдите в каталог.

Командная строка

  • Нам нужно ввести ключевое слово python, затем имя файла и нажать Enter, чтобы запустить файл Python.

Ввод ключевого слова и имени файла

Многострочные операторы

Многострочные операторы записываются в блокнот как редактор и сохраняются с расширением .py. В следующем примере мы определим выполнение нескольких строк кода с помощью скрипта Python.

Код:

name = "Andrew Venis"
branch = "Computer Science"
age = "25"
print("My name is: ", name, )
print("My age is: ", age)

Файл сценария:

Результат

Первая программа на Python

Плюсы и минусы режима сценария

Режим сценария также имеет несколько преимуществ и недостатков. Давайте разберемся в следующих преимуществах запуска кода в режиме скрипта:

  • Мы можем запускать несколько строк кода.
  • Отладка выполняется легко в режиме сценария.
  • Подходит как для новичков, так и для экспертов.

Посмотрим на недостатки скриптового режима:

  • Нужно сохранять код каждый раз, если мы вносим в него какие-либо изменения.
  • Когда мы запускаем одну или несколько строк кода, это может быть утомительно.

Начало работы с PyCharm

В нашей первой программе мы использовали gedit в CentOS в качестве редактора. В Windows у нас есть альтернатива, например блокнот или блокнот ++, для редактирования кода. Однако эти редакторы не используются в качестве IDE для Python, поскольку они не могут отображать предложения, связанные с синтаксисом.

JetBrains предоставляет самую популярную и широко используемую кроссплатформенную IDE PyCharm для запуска программ Python.

Установка PyCharm

Как мы уже говорили, PyCharm – это кроссплатформенная IDE, поэтому ее можно установить в различных операционных системах. В этом разделе руководства мы рассмотрим процесс установки PyCharm в Windows, MacOS, CentOS и Ubuntu.

Windows

Установить PyCharm в Windows очень просто. Чтобы установить PyCharm в операционной системе Windows, перейдите по ссылке https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows, чтобы загрузить установщика. Дважды щелкните файл установки(.exe) и установите PyCharm, нажимая «Далее» на каждом шаге.

Чтобы создать первую программу для Pycharm, выполните следующий шаг.

Шаг – 1. Откройте редактор Pycharm. Нажмите на «Создать новый проект», чтобы создать новый проект.

Работа с PyCharm

Шаг – 2. Выберите место для сохранения проекта.

  1. Мы можем сохранить созданный проект в  выбранном по желанию месте памяти или оставить расположение файла как есть, но, по крайней мере, изменить имя проекта по умолчанию без названия на «FirstProject» или что-то значимое.
  2. Pycharm автоматически найдет установленный интерпретатор Python.
  3. После изменения имени нажмите кнопку «Создать».

Шаг 2

Шаг – 3. Щелкните меню «Файл» и выберите «Новый». При нажатии на опцию «Новый» он покажет различные форматы файлов. Выберите «Файл Python».

Выбор файла Python

Шаг – 4. Теперь введите имя файла Python и нажмите «ОК». Мы написали «Первую программу».

Шаг 4

Шаг – 5. Теперь введите первую программу – print(«Hello World»), затем нажмите меню «Выполнить», чтобы запустить программу.

Запуск первой программы на Python

Шаг – 6. Результат появится внизу экрана.

Шаг 6 - результат работы

Отступы в Python

Отступы – наиболее важная концепция языка программирования Python. Неправильное использование отступов приведет к ошибке “IndentationError” в нашем коде.

Отступы – это не что иное, как добавление пробелов перед оператором, когда это необходимо. Без отступа Python не знает, какой оператор выполнять следующим. Отступ также определяет, какие операторы принадлежат какому блоку. Если нет отступа или  отступ неправильный, отобразится «IndentationError» и прервет наш код.

Отступы на Python

Отступы Python определяют, какая группа операторов принадлежит конкретному блоку. В языках программирования, таких как C, C ++, java, для определения блоков кода используются фигурные скобки {}.

В Python операторы, находящиеся на одном уровне справа, принадлежат одному блоку. Мы можем использовать четыре пробела для определения отступа. Давайте посмотрим на следующие строки кода.

Пример –

list1 = [1, 2, 3, 4, 5]
for i in list1:
    print(i)
    if i==4:
       break
print("End of for loop")

Выход:

1
2
3
4
End of for loop

Объяснение:

В приведенном выше коде цикл for имеет блоки кода, если оператор имеет блок кода внутри цикла for. Оба с четырьмя пробелами с отступом. Последний оператор print() без отступа; это означает, что он не принадлежит циклу for.

Комментарии в Python

Комментарии необходимы для определения кода и помогают нам и другим людям понять код. Просматривая комментарий, мы можем легко понять назначение каждой строки, написанной нами в коде. Мы также можем очень легко найти ошибки, исправить их и использовать в других приложениях.

В Python мы можем применять комментарии, используя символ решетки #. Интерпретатор Python полностью игнорирует строки, за которыми следует символ решетки. Хороший программист всегда использует комментарии, чтобы сделать код стабильным. Давайте посмотрим на следующий пример комментария.

name  = "Thomas"   # Assigning string value to the name variable 

Мы можем добавить комментарий в каждую строку кода Python.

Fees = 10000      # defining course fees is 10000
Fees = 20000      # defining course fees is 20000

Хорошая идея – добавить код в любую строку раздела кода, цель которого неочевидна. Это лучший способ изучить при написании кода.

Типы комментариев

Python предоставляет возможность писать комментарии двумя способами – однострочный комментарий и многострочный комментарий.

Однострочный комментарий начинается с символа решетки #, за которым следует текст для дальнейшего объяснения.

# defining the marks of a student 
Marks = 90

Мы также можем написать комментарий рядом с оператором кода. Рассмотрим следующий пример.

Name = "James"   # the name of a student is James
Marks = 90            # defining student's marks
Branch = "Computer Science"   # defining student branch

Многострочные комментарии – Python не имеет явной поддержки многострочных комментариев, но мы можем использовать символ решетки # для нескольких строк. Например –

# we are defining for loop
# To iterate the given list.
# run this code.

Мы также можем использовать другой способ.

" " " 
This is an example
Of multi-line comment
Using triple-quotes 
" " "

Это основное введение в комментарии. Просмотрите наш урок по комментариям Python, чтобы изучить его подробно.

Идентификаторы Python

Идентификаторы Python относятся к имени, используемому для идентификации переменной, функции, модуля, класса, модуля или других объектов. Есть несколько правил, которым нужно следовать при присвоении имени переменной Python.

  • Имя переменной должно начинаться с английской буквы или символа подчеркивания(_).
  • Имя переменной не может начинаться с числа.
  • В имени переменной нельзя использовать специальные символы.
  • Имя переменной чувствительно к регистру.

Пример –

number = 10
print(num)

_a = 100
print(_a)

x_y = 1000
print(x_y)

Выход:

10
100
1000

Мы определили базовый синтаксис языка программирования Python. Мы должны ознакомиться с основной концепцией любого языка программирования. Как только мы запомним концепции, упомянутые выше, изучение Python станет проще.

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Содержание

  1. Введение
  2. Примеры простых программ
  3. Замена значений переменных местами
  4. Написание числа в обратном порядке
  5. Преобразование разделённого запятыми списка в строку
  6. Найти среднее значение элементов массива
  7. Проверить, является ли слово палиндромом
  8. Есть ли число в списке
  9. Вывод всех чисел, кратных определенному числу, в заданном диапазоне
  10. Количества цифр в числе
  11. Суммы всех цифр данного числа
  12. Сумма цифр от 1 до n
  13. Играемся со звёздочками
  14. Получаем гласные
  15. Чуть сложнее
  16. Все перестановки трех чисел
  17. Декартово произведение
  18. Генератор чисел Фибоначчи
  19. Объединяем два словаря
  20. Проверка дубликатов
  21. Вычисляем время выполнения
  22. Разбиение на фрагменты

Введение

В данном уроке мы приведём несколько примеров небольших программ на Python. Общая рекомендация к изучению любого языка: практикуйтесь как можно больше. Чтобы достичь хоть какого-то уровня профессионализма в программировании, не достаточно только изучать теорию. Пишите код. Желательно, каждый день, хотя бы по чуть-чуть. Это важно. Ваши руки должны привыкнуть к синтаксису, а мозги – к решению стандартных задач программирования.

Примеры простых программ

Замена значений переменных местами

На большинстве других языков эта задача была бы решена следующим образом:


var_1 = 15
var_2 = 67
print('var_1:', var_1, 'var_2:', var_2)
var_temp = var_1
var_1 = var_2
var_2 = var_temp
print('var_1:', var_1, 'var_2:', var_2)
# Вывод:
var_1: 15 var_2: 67
var_1: 67 var_2: 15

Но Пайтон творит магию:


var_1, var_2 = 15, 67
print('var_1:', var_1, 'var_2:', var_2)
var_1, var_2 = var_2, var_1
print('var_1:', var_1, 'var_2:', var_2)
# Вывод:
var_1: 15 var_2: 67
var_1: 67 var_2: 15

Написание числа в обратном порядке


var_1 = 1567
reverse = 0
while var_1 > 0:
    rest = var_1 % 10
    reverse = reverse * 10 + rest
    var_1 = var_1 // 10
print("Число в обратном порядке:", reverse)
# Вывод:
Число в обратном порядке: 7651

В Питоне, несмотря на одну из его заповедей: «должно быть только одно решение», решений, как правило много. Всегда стоит задуматься о том, какой алгоритм оптимальнее. Пример, приведённый выше, работает, но его можно оптимизировать (сократить объём кода).


var_1 = 1567
var_1 = str(var_1)[::-1]
print("Число в обратном порядке:", var_1)
# Вывод:
Число в обратном порядке: 7651

Преобразование разделённого запятыми списка в строку


favorites = ["Python", "SQL", "GO"]
print("Мои любимые языки программирования:", ", ".join(favorites))
# Вывод:
Мои любимые языки программирования: Python, SQL, GO

Найти среднее значение элементов массива


var_1 = [1, 5, 6, 7]
sum = 0
for i in var_1:
    sum += i
print(sum/len(var_1))
# Вывод:
4.75

Оптимизируем код:


var_1 = [1, 5, 6, 7]
print(eval(str(var_1).replace(', ', '+'))[0]/len(var_1))
# Вывод:
4.75

Тут следует заметить, что сокращение кода, почти всегда, ведёт к ухудшению читаемости и это следует делать с большой осторожностью. К примеру, в приведённом выше варианте, читаемость «убита» полностью, хоть код сократился всего на три строки.

Проверить, является ли слово палиндромом

Палиндром – это слово, которое читается одинаково в обоих направлениях. Для разнообразия покажем, как сокращение кода из-за выбора альтернативного алгоритма повышает читаемость кода и производительность. Вот одна из худших реализаций:


var_1 = 'level'
var_2 = list(var_1)
var_2.reverse()
var_2 = str(var_2).replace('', '', '').replace('['', '').replace('']', '')
print(var_2)
if var_1 == var_2:
    print('Palindrom')
else:
    print('Simple word')
# Вывод:
Palindrome

Вариант получше:


var_1 = 'level'
ispalindrome = var_1 == var_1[::-1]
if ispalindrome:
    print('Palindrome')
else:
    print('Simple word')
# Вывод:
Palindrome

Вишенка на торте. Тоже самое в одну строку:


var_1 = 'level'
print('Palindrome') if var_1 == var_1[::-1] else print('Simple word')
# Вывод:
Palindrome

Есть ли число в списке


var_1 = 11
print(var_1 in [5, 6, 40, 126])
# Вывод:
False

Вывод всех чисел, кратных определенному числу, в заданном диапазоне


lower = int(input("Введите нижнюю границу диапазона: "))
upper = int(input("Введите верхнюю границу диапазона: "))
n = int(input("Введите делитель: "))
for i in range(lower, upper + 1):
    if(i % n == 0):
        print(i)
# Вывод:
Введите нижнюю границу диапазона: 5
Введите верхнюю границу диапазона: 30
Введите делитель: 5
5
10
15
20
25
30

Количества цифр в числе


var_1 = int(input("Введите число: "))
count = 0
while var_1 > 0:
    count = count + 1
    var_1 = var_1 // 10
print("Количество цифр равно:", count)
# Вывод:
Введите число: 123456789
Количество цифр равно: 9

Суммы всех цифр данного числа


var_1 = int(input("Введите число: "))
total = 0
while var_1 > 0:
    rest = var_1 % 10
    total = total + rest
    var_1 = var_1//10
print("Сумма цифр равна:", total)
# Вывод:
Введите число: 123456789
Сумма цифр равна: 45

Сумма цифр от 1 до n


var_1 = int(input("Введите число: "))
agregator = []
for i in range(1, var_1+1):
    print(i, sep=" ", end=" ")
    if i < var_1:
        print("+", sep=" ", end=" ")
    agregator.append(i)
print("=", sum(agregator))
# Вывод:
Введите число: 18
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 = 171

Играемся со звёздочками

Вывести n рядов, заполненных знаком ‘*’


var_1 = int(input("Введите количество рядов: "))
for i in range(var_1, 0, -1):
    print((var_1-i) * ' ' + i * '*')
# Вывод:
Введите количество рядов: 5
*****
 ****
  ***
   **
    *

Получаем гласные


def get_vowels(word):
    return [each for each in word if each in "aeiouy"]
print(get_vowels("animal"))
print(get_vowels("sky"))
print(get_vowels("football"))
# Вывод:
['a', 'i', 'a']
['y']
['o', 'o', 'a']

Чуть сложнее

Все перестановки трех чисел

Программа принимает три числа и выводит все возможные перестановки этих чисел.


var_1 = int(input("Введите первое число: "))
var_2 = int(input("Введите второе число: "))
var_3 = int(input("Введите третье число: "))
agregator = []
agregator.append(var_1)
agregator.append(var_2)
agregator.append(var_3)
for i in range(0, 3):
    for j in range(0, 3):
        for k in range(0, 3):
            if(i != j & j != k & k != i):
                print(agregator[i], agregator[j], agregator[k])
# Вывод:
Введите первое число: 10
Введите второе число: 20
Введите третье число: 30
10 20 30
10 30 20
20 10 30
20 30 10
30 10 20
30 20 10

Декартово произведение

Необходимо объединить два списка таким образом, чтоб получить список из всех возможных пар элементов.


print([(var_1, var_2) for var_1 in ['dfa', 'eb'] for var_2 in [154, 248, 873]])
# Вывод:
[('dfa', 154), ('dfa', 248), ('dfa', 873), ('\eb', 154), ('\eb', 248), ('\eb', 873)]

Генератор чисел Фибоначчи


def fibonacci(limit):        # генератор (а не функция, т.к. оператор return заменён на yield)
    var_1, var_2 = 0, 1
    while var_1 < limit:
        yield var_1            # return a, + запоминаем место рестарта для следующего вызова
        var_1, var_2 = var_2, var_1 + var_2    # параллельное присваивание, которое выполняется одновременно и параллельно

for n in fibonacci(1000):   # используем генератор fibonacci() как итератор
    print(n, end=' ')               # печатаем все числа Фибоначчи меньшие 1000 через пробел
# Вывод:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

Объединяем два словаря


def merge(dic_1, dic_2):
    dic_3 = dic1.copy()
    dic_3.update(dic_2)
    return dic_3


dic1 = {1: "Hello", 2: "pythoninfo,"}
dic2 = {3: "Python", 4: "is awesome",}
print(merge(dic1, dic2))
# Вывод:
{1: 'Hello', 2: 'pythoninfo,', 3: 'Python', 4: 'is awesome'}

Проверка дубликатов


def check_duplicate(lst):
    return len(lst) != len(set(lst))


print(check_duplicate([51, 37, 3, 45, 5, 49, 77]))
print(check_duplicate([1, 3, 3]))
print(check_duplicate([11, 2, 88, 4, 16]))
# Вывод:
False
True
False

Вычисляем время выполнения

Очень полезный пример. Приведённый код – самый простой способ проводить профилирование Вашего кода. Позволяет понять какой блок тормозит работу программы. Здесь мы записываем текущее время перед запуском функции и после запуска. Затем сравниваем их и выводим, сколько времени заняло выполнение функции.


import time


def fun(i):
    res = lambda i: i ** i
    return res(i)


start_time = time.time()
fun(fun(5))
end_time = time.time()
timetaken = end_time - start_time
print("Время выполнения: ", timetaken)
# Вывод:
Время выполнения:  0.0009870529174804688

Разбиение на фрагменты


def chunk(ishod_list, size):
    return [ishod_list[i:i + size] for i in range(0, len(ishod_list), size)]

ishod_list = ['q', 'w', 'e', 'r', 't', 'y']
print(chunk(ishod_list, 2))
# Вывод:
[['q', 'w'], ['e', 'r'], ['t', 'y']]

Содержание

  1. Введение
  2. Проверка заряда аккумулятора ноутбука
  3. Сокращение ссылок
  4. Преобразование текста в речь
  5. Генератор паролей
  6. Конвертер PNG в ICO
  7. Заключение

Введение

В данной статье мы с Вами будем писать простые программы на языке программирования Python.

Проверка заряда аккумулятора ноутбука

С помощью Python можно проверить заряд аккумулятора на ноутбуке, для этого понадобится модуль под названием psutil. Данный модуль входит в стандартную библиотеку Python, поэтому нам даже устанавливать ничего не придётся. Объяснения кода приложу в комментариях:

import psutil
# Создаём экземпляр класса sensors_battery():
battery = psutil.sensors_battery()
# Получаем информацию о заряде батареи в процентах:
percent = str(battery.percent)
# Выводим информацию о заряде батареи
print(f'Заряд батареи = {percent}%')

Так же можем улучшить программу, добавив уведомление о низком заряде батареи, но для этого понадобится модуль pyautogui. Установить его можно прописав pip install pyautogui в терминал, или же командную строку.

Улучшенная программа:

import psutil
import pyautogui
# Создаём экземпляр класса sensors_battery():
battery = psutil.sensors_battery()

while True:
    if battery.percent < 100:
        pyautogui.alert('Заряд батареи < 100%', 'Предупреждение')
        break
    else:
        pass

Видеоурок:

Проверка заряда аккумулятора ноутбука

Сокращение ссылок

Программа для сокращения ссылок на Python будет полезна, чтобы вечно не заходить на сторонние сервисы для сокращения, а воспользоваться собственной программой в шаговой доступности.

Для начала понадобится установить модуль pyshorteners, для его установки нужно перейти в терминал или же командную строку, прописать pip install pyshorteners, нажать Enter и ждать установки. После установки можем смело писать код:

import pyshorteners

# Создаём экземпляр класса Shortener
s = pyshorteners.Shortener()
# Пользователь вводит ссылку
url = input('Введите ссылку для сокращения: ')
# Сокращаем ссылку и выводим её
print(s.tinyurl.short(url))

Создание GUI приложения на Python для сокращения ссылок:

Преобразование текста в речь

Для преобразования текста в речь можно воспользоваться библиотекой gTTS, для её установки нужно перейти в терминал или же командную строку, прописать pip install gTTS, нажать Enter и ждать установки. Теперь можно приступить к написанию кода:

from gtts import gTTS 
import os
# Открываем txt файл с фразами, которые нужно озвучить
file = open("abc.txt", "r").read()
# Озвучиваем фразы
speech = gTTS(text=file, lang='ru', slow=False)
file.close()
# Сохраняем озвученный текст
speech.save("output.mp3")

Так же можете посмотреть видео про синтез речи, если Вам интересна данная тема:

Генератор паролей

Напишем простой генератор паролей. Для написания данной программы нам понадобится модуль, который входит в стандартную библиотеку Python под названием random.

Код программы:

import random
# Ввод желаемой длины пароля
length_password = int(input("Введите длину пароля: "))
# Алфавит для будущего пароля
alphabetical = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
# Генерация пароля
password = "".join(random.sample(alphabetical, length_password))
# Вывод результата
print(password)

Ну а после генерации пароля можете его проверить на надёжность:

Проверка надёжности пароля

Конвертер PNG в ICO

Некоторым из нас довольно часто бывает нужно получить изображение в формате ico, но устанавливать плагин для фотошопа, или искать конвертер в интернете лень. На помощь придёт программа для конвертации изображения в формате PNG в ICO.

Для написания данной программы понадобится модуль Pillow, для его установки нужно перейти в терминал или же командную строку, прописать pip install Pillow, нажать Enter и ждать установки. Далее приступаем к написанию кода:

from PIL import Image
# Ввод пути до изображения
img_path = input('Введите путь до изображения: ')
# Открываем изображение в формате PNG
img = Image.open(img_path)
# Сохраняем изображение в формате ICO
img.save('output.ico')

Создание GUI приложения для конвертации PNG в ICO:

Заключение

В ходе статьи мы с Вами написали целых 5 простых программ на Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Теги: python, пайтон, первая программа, написание программы

В этой статье мы рассмотрим, какие действия нужно предпринять, чтобы написать свою первую программу на языке Python. Материал предназначен для начинающих, которые делают первые шаги в мире программирования.

Итак, прежде чем мы приступим к написанию программы, давайте установим Python, если вы этого ещё не сделали. Для этого мы предварительно скачаем Python с официального сайта. Если у вас Windows, инсталлятор берём отсюда, выбирая нужную версию. В принципе, установка проблем не вызывает, поэтому мы не будем задерживаться на этом шаге. К тому же, в сети полно статей, где подробно и пошагово описывается инсталляция Python (кстати, его можно установить и на Unix-подобные системы: Linux, Ubuntu и прочие).

Пишем первую программу

Что нужно сделать в первую очередь? Во-первых, открыть IDLE — она представляет собой среду разработки на Python и поставляется вместе с дистрибутивом:

start_idle_1-20219-04fbfc.png

После запуска IDLE в интерактивном режиме мы можем переходить к созданию первой программы. Как уже стало доброй традицией, это будет классический «Hello world».
Чтобы написать такую простейшую программу мы используем всего одну строку кода:


После ввода этого кода в среду разработки и нажатия кнопки «Enter» мы получим соответствующий вывод:

1-20219-e3cc84.png

Элементарно, Ватсон! Теперь вы написали первую программу на Python! Впрочем, это не сделает вас программистом, ведь всё гораздо сложнее… С другой стороны, надо же с чего-то начинать.

Для закрепления можете написать другие простые программы. Например, нижеследующий код выведет в консоли 8:


Впрочем, при разработке программ на Python интерактивный режим не является основным. Чаще всего мы сохраняем код программы в файл, а потом запускаем файл. Давайте создадим в IDLE новое окно, выбрав File → New File (также можно нажать Ctrl + N):

2-20219-37c5df.png

У нас появится окно, где вводим следующий код:

name = input("Как твоё имя? ")
print("Здравствуй,", name)

Что тут происходит:
1) первая строка программы выводит в консоль вопрос, спрашивает ваше имя и ждёт ответа;
2) после того, как вы напишете имя и нажмёте «ввод», Python-программа сохранит полученное значение в переменной name;
3) вторая строка выведет на экран написанное вами имя после слова «Здравствуй». Например, «Здравствуй, Петя!».

Для запуска нашей новой программы на Python достаточно нажать F5 либо выбрать в меню IDLE Run → Run Module. Кстати, перед запуском среда разработки предложит сохранить файл (папку можете выбрать сами).

Что ж, на этом всё. Поздравляем вас с написанием первой, второй и даже третьей программы на Python. Впереди ещё много интересного, главное — не бросать начатое. Помните старую истину: «Дорогу осилит идущий».

#статьи

  • 25 июл 2022

  • 0

Знакомимся с библиотекой Tkinter — пишем на Python кросс-платформенный калькулятор, который рассчитывает вес человека.

Иллюстрация: Merry Mary для Skillbox Media

Антон Яценко

Изучает Python, его библиотеки и занимается анализом данных. Любит путешествовать в горах.

Десктопные приложения пишут на разных языках программирования: C++, C#, C, Python и других. Начинающим разработчикам проще всего использовать Python и его библиотеки для работы над графическими интерфейсами.

Одна из таких библиотек — Tkinter. Она входит в стандартный пакет Python и позволяет создавать приложения для Windows, mac OS и Linux. Давайте разберёмся, как устроена эта библиотека, и напишем десктопный калькулятор, помогающий рассчитать вес человека.

GUI (Graphical User Interface) — это графический интерфейс пользователя, оболочка программы, с которой мы взаимодействуем с помощью клавиатуры и мыши. На современных операционных системах почти все программы работают с графическим интерфейсом, и мы каждый день сталкиваемся с GUI: читаем статьи в браузере, набираем текст в редакторе или играем в игры.

Противоположность графическому интерфейсу — командная строка, позволяющая управлять приложением с помощью текстовых команд. Такой интерфейс реализован в терминале macOS и командной строке Windows.

Для работы с GUI в Python есть четыре библиотеки:

  • Tkinter;
  • Kivy;
  • Python QT;
  • wxPython.

Мы выбрали Tkinter, потому что она не требует дополнительной установки и позволяет быстро создавать приложения с простым графическим интерфейсом.

Tkinter — это удобный интерфейс для работы со средствами Tk. Приложения, созданные на основе этой библиотеки, кросс-платформенные, то есть могут запускаться на разных операционных системах.

Схематично работу с Tkinter можно представить в виде четырёх шагов:

Скриншот: Tkinter

Что здесь происходит:

  • Мы подключаем библиотеку Tkinter с помощью директивы import.
  • Создаём главное окно приложения, в котором будут размещаться все графические элементы.
  • Добавляем виджеты — визуальные элементы, выполняющие определённые действия.
  • Создаём главный цикл событий — он включает в себя все события, происходящие при взаимодействии пользователя с интерфейсом.

Ключевые объекты в работе с Tkinter — виджеты. Это аналоги тегов из HTML, которые позволяют создавать интерактивные и неинтерактивные элементы, например надписи или кнопки. Всего их 18, но чаще всего используют следующие:

  • Button — кнопки;
  • Canvas — «холст», на котором рисуют графические фигуры;
  • Entry — виджет для создания полей ввода;
  • Label — контейнер для размещения текста или изображения;
  • Menu — виджет для создания пунктов меню.

Понять работу с виджетами легче всего на практике. Но прежде чем к ней приступить, обсудим идею нашего первого десктопного приложения.

Мы напишем калькулятор индекса массы тела. ИМТ — это важный медицинский показатель, который позволяет оценить, есть ли у человека избыточный вес или ожирение. Он рассчитывается по следующей формуле: ​​

Результаты расчётов оценивают с помощью специальной таблицы. У врачей она имеет много градаций, мы же воспользуемся упрощённой версией:

Изображение: Skillbox Media

Писать код на Python лучше всего в специальной IDE, например в PyCharm или Visual Studio Code. Они подсвечивают синтаксис и предлагают продолжение кода — это сильно упрощает работу программиста. Весь код из этой статьи мы писали в Visual Studio Code.

Библиотека Tkinter предустановлена в Python. Поэтому её нужно только импортировать:

import tkinter as tk

Теперь мы можем использовать любые модули из этой библиотеки.


Прежде чем писать код, необходимо ответить на несколько вопросов:

  • Какие данные мы хотим получить от пользователя и в каком виде?
  • Какое событие будет запускать расчёт ИМТ: нажатие кнопки, получение приложением всех необходимых данных или что-то другое?
  • Как будем показывать результат?

В нашем случае необходимо получить от пользователя вес и рост в виде целых чисел. При этом вес должен быть введён в килограммах, а рост — в сантиметрах. ИМТ будет рассчитываться по нажатии кнопки, а результат — выводиться во всплывающем окне в виде значения ИМТ и категории, к которой он относится.

Схематично графический интерфейс нашего калькулятора будет выглядеть так:

Скриншот: Tkinter / Skillbox Media

Теперь попробуем реализовать интерфейс и работу калькулятора с помощью Python и Tkinter.


После импорта библиотеки в Python загрузим её методы:

from tkinter import *
from tkinter import messagebox

Первая строка позволяет нам загрузить все методы Tkinter и использовать их в коде без ссылки на их наименование. Второй строкой мы явно импортируем метод messagebox, который будем использовать для вывода всплывающего окна с результатом. Это удобно, так как метод потребуется нам несколько раз.

Теперь создадим окно нашего приложения. Для этого воспользуемся модулем Tk. Приложение назовём «Калькулятор индекса массы тела (ИМТ)»:

window = Tk() #Создаём окно приложения.
window.title("Калькулятор индекса массы тела (ИМТ)") #Добавляем название приложения.

После запуска кода ничего не произойдёт. Это не ошибка. На самом деле код выполнился и окно закрылось. Необходимо явно указать, что окно приложения не должно закрываться до тех пор, пока пользователь сам не сделает этого. Для этого к коду добавим функцию window.mainloop (), указывающую на запуск цикла событий:

window.mainloop()

Запустив код, увидим экран приложения:

Скриншот: Tkinter / Skillbox Media

Мы не указали размер окна, поэтому название приложения не помещается в него полностью. Исправим это с помощью метода geometry:

window.geometry('400x300')

Теперь название приложения видно полностью:

Скриншот: Tkinter / Skillbox Media

В окне приложения необходимо разместить несколько элементов с нашего эскиза: два поля ввода информации с подписями и одну кнопку. Важно, чтобы поля не накладывались друг на друга и не уходили за пределы окна. В Tkinter для этого есть несколько методов:

  • pack — используется, когда мы работаем с контейнерами для элементов. Позволяет позиционировать кнопки, надписи или другие элементы внутри контейнеров.
  • place — позволяет позиционировать элементы, указывая точные координаты.
  • grid — размещает элементы по ячейкам условной сетки, разделяющей окно приложения.

Мы воспользуемся комбинацией методов pack и grid. Для начала создадим виджет Frame для размещения надписей, полей ввода и кнопок. Подробное описание работы виджета есть в документации. Мы же используем только два свойства: padx и pady.

Обозначим отступы по вертикали и горизонтали в 10 пикселей для элементов, которые будут расположены внутри Frame:

frame = Frame(
   window, #Обязательный параметр, который указывает окно для размещения Frame.
   padx = 10, #Задаём отступ по горизонтали.
   pady = 10 #Задаём отступ по вертикали.
)
frame.pack(expand=True) #Не забываем позиционировать виджет в окне. Здесь используется метод pack. С помощью свойства expand=True указываем, что Frame заполняет весь контейнер, созданный для него.


В окне приложения нам необходимо добавить три вида виджетов: поле для ввода информации (Entry), текстовые надписи (Label) и кнопку (Button).

Начнём с надписей. Воспользуемся виджетом Label:

height_lb = Label(
   frame,
   text="Введите свой рост (в см)  "
)
height_lb.grid(row=3, column=1)

Мы передаём виджету Label два параметра:

  • frame — используем заготовку виджета Frame, в которой уже настроены отступы по вертикали и горизонтали.
  • text — текст, который должен быть выведен на экран.

Для позиционирования виджета используем метод grid. Укажем, что текст должен располагаться в ячейке с координатами «3-я строка, 1-й столбец». Если запустим код, то увидим там единственный элемент:

Скриншот: Tkinter / Skillbox Media

Сейчас элемент расположен в центре окна, но он займёт правильное положение, когда мы напишем другие элементы.

Добавим вторую надпись о весе аналогичным образом, но при позиционировании в grid укажем следующую, четвёртую строку:

weight_lb = Label(
   frame,
   text="Введите свой вес (в кг)  ",
)
weight_lb.grid(row=4, column=1)

Запускаем код и смотрим на результат:

Скриншот: Tkinter / Skillbox Media

Теперь добавим поля для ввода пользовательской информации, используя виджет Entry:

height_tf = Entry(
   frame, #Используем нашу заготовку с настроенными отступами.
)
height_tf.grid(row=3, column=2)

Для позиционирования мы также воспользовались методом grid. Обратите внимание, что наш элемент должен быть расположен напротив надписи «Введите свой рост (в см)». Поэтому мы используем ячейку в той же строке, но уже во втором столбце. Запустим код и посмотрим на результат:

Скриншот: Tkinter / Skillbox Media

Всё получилось. Остаётся по аналогии добавить поле ввода веса:

weight_tf = Entry(
   frame,
)
weight_tf.grid(row=4, column=2, pady=5)

Посмотрим на результат:

Скриншот: Tkinter / Skillbox Media

Теперь добавим кнопку, которая будет запускать расчёт ИМТ. Сделаем это с помощью виджета Button:

cal_btn = Button(
   frame, #Заготовка с настроенными отступами.
   text='Рассчитать ИМТ', #Надпись на кнопке.
)
cal_btn.grid(row=5, column=2) #Размещаем кнопку в ячейке, расположенной ниже, чем наши надписи, но во втором столбце, то есть под ячейками для ввода информации.

Посмотрим на результат:

Скриншот: Tkinter / Skillbox Media

Теперь в приложении есть все графические элементы. Остаётся лишь написать код, который будет получать информацию из виджетов Entry и рассчитывать индекс массы тела.


Напишем простую функцию и разберём её построчно:

def calculate_bmi(): #Объявляем функцию.
   kg = int(weight_tf.get()) #С помощью метода .get получаем из поля ввода с именем weight_tf значение веса, которое ввёл пользователь и конвертируем в целое число с помощью int().
   m = int(height_tf.get())/100 #С помощью метода .get получаем из поля ввода с именем height_tf значение роста и конвертируем в целое число с помощью int(). Обязательно делим его на 100, так как пользователь вводит рост в сантиметрах, а в формуле для расчёта ИМТ используются метры.
   bmi = kg/(m*m)#Рассчитываем значение индекса массы тела.
   bmi = round(bmi, 1) #Округляем результат до одного знака после запятой.

Функция готова. Но теперь нам необходимо оценить полученный результат расчёта и вывести сообщение для пользователя.


Дополним нашу функцию calculate_bmi. Воспользуемся условным оператором if, чтобы учесть полученные значения ИМТ, и методом Tkinter messagebox для отображения сообщения во всплывающем окне:

if bmi < 18.5:
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует недостаточному весу')
   elif (bmi > 18.5) and (bmi < 24.9):
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует нормальному весу')
   elif (bmi > 24.9) and (bmi < 29.9):
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует избыточному весу')
   else:
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует ожирению')

Остаётся последний шаг — наша функция должна запускаться при нажатии на кнопку «Рассчитать ИМТ». Для этого добавим свойство command в виджет Button:

cal_btn = Button(
   frame,
   text='Рассчитать ИМТ',
   command=calculate_bmi #Позволяет запустить событие с функцией при нажатии на кнопку.
)
cal_btn.grid(row=5, column=2)

Запустим код и посмотрим на результат:

Источник: Tkinter / Skillbox Media

Всё работает. Функция получает данные из полей ввода и рассчитывает индекс массы тела, показывая результат на экране.

from tkinter import *
from tkinter import messagebox
 
def calculate_bmi():
   kg = int(weight_tf.get())
   m = int(height_tf.get())/100
   bmi = kg/(m*m)
   bmi = round(bmi, 1)
 
   if bmi < 18.5:
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует недостаточному весу')
   elif (bmi > 18.5) and (bmi < 24.9):
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует нормальному весу')
   elif (bmi > 24.9) and (bmi < 29.9):
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует избыточному весу')
   else:
       messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует ожирению')  
 
window = Tk()
window.title('Калькулятор индекса массы тела (ИМТ)')
window.geometry('400x300')
 
 
frame = Frame(
   window,
   padx=10,
   pady=10
)
frame.pack(expand=True)
 
 
height_lb = Label(
   frame,
   text="Введите свой рост (в см)  "
)
height_lb.grid(row=3, column=1)
 
weight_lb = Label(
   frame,
   text="Введите свой вес (в кг)  ",
)
weight_lb.grid(row=4, column=1)
 
height_tf = Entry(
   frame,
)
height_tf.grid(row=3, column=2, pady=5)
 
weight_tf = Entry(
   frame,
)
weight_tf.grid(row=4, column=2, pady=5)
 
cal_btn = Button(
   frame,
   text='Рассчитать ИМТ',
   command=calculate_bmi
)
cal_btn.grid(row=5, column=2)
 
window.mainloop()

Узнать о возможностях Tkinter и особенностях работы с виджетами можно в официальной документации. А если хотите найти больше реальных примеров для практики, советуем две книги:

  • Python GUI Programming with Tkinter. Develop responsive and powerful GUI applications with Tkinter, Алан Мур.
  • Tkinter GUI Programming by Example, Дэвид Лав.

Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.

Участвовать


Download Article


Download Article

Python is a simple yet powerful programming language to learn. It accommodates all levels of programmers from beginners to advanced programmers. Python is flexible and can work on available operating systems e.g., Mac, Windows, and Linux.
Have you learned about the bare basics of python but are confused on how to apply them? Well, this article shows you how to make a program that calculates your total days, minutes, and seconds you have been alive! It is a very simple program that demonstrates how some things work in this programming language. Note that this is for users who have a basic understanding of python.

Steps

  1. Image titled 1291077 1 2

    1

    Open up a new window in python shell by pressing ctrl-N or going to ‘File’ and ‘New window’.

  2. Image titled 1291077 2 2

    2

    Start with an introductory sentence. So you have to use the print function. Type below codes:

    print("Let's see how long you have lived in days, minutes and seconds.")
    

    Advertisement

  3. Image titled 1291077 3 2

    3

    Ask the user’s name. It’s nice to know what the user’s name is, so type this in line 2:

    • The variable «name» has now been replaced by the user’s input.
  4. Image titled 1291077 4 2

    4

    Ask their age. You need to know the age, now you do the same thing as above except you have to use the «int» function, because the user will enter a number, like this:

      print("now enter your age")
      age = int(input("age: "))
      
    • The variable «age» has now been replaced by the user’s input.
  5. Image titled 1291077 5 2

    5

    Do the conversions using the user’s given age.

      days = age * 365
      minutes = age * 525948     
      seconds = age * 31556926
      
    • Once you have written this, Python automatically changes the values for days, minutes, and seconds, based on the user’s input of age.
  6. Image titled 1291077 6 2

    6

    Display to the user his/her information.

      print(name, "has been alive for", days,"days", minutes, "minutes and", seconds, "seconds!  Wow!")
      
  7. Image titled 1291077 7 2

    7

    Congrats! you made a real program that serves a purpose! Save it and run it by going to ‘run’ and ‘run module’. Try it out for yourself!

  8. Advertisement

Add New Question

  • Question

    What do I do if I get errors while trying to create a simple program?

    Community Answer

    Try to check and read over your code. Are your variable names correct? Are there any misused brackets or symbols? Usually it will be highlighted if this is the case. If it is, try to figure out how to fix it the best you can.

  • Question

    The program closes after I type my name and never shows me how many seconds I lived. I copied and pasted everything here. I am using Python 2.7 and can’t get a newer version as I use Win XP. Do you have any suggestions for me?

    Community Answer

    Under python 2.7, ‘input()’ asks for an input to execute (a python statement). The exemple above is for python 3 which disable the direct execution of code via ‘input()’. So, if you need the user to give you an input, use ‘raw_input()’ instead of ‘input()’

  • Question

    How do I write a comment?

    Cluster Duck

    Cluster Duck

    Community Answer

    There are two ways to write a comment in python. A # is used for a one line comment. A «»» is used for a multi line comment.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

About This Article

Thanks to all authors for creating a page that has been read 237,854 times.

Is this article up to date?

Понравилась статья? Поделить с друзьями:
  • Как написать легкий сайт на html
  • Как написать легкий код
  • Как написать левый отзыв на авито
  • Как написать лаунчер для minecraft python
  • Как написать латинскими цифрами на клавиатуре