Как составить программу в питоне которая


Загрузить 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» (Запустить модуль).

    Реклама

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

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

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

В прошлой статье я рассказал как установить Python и среду разработки PyCharm. В этой статье поговорим о том, как написать программу на Python.

Что для этого нужно?

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

Давайте для начала напишем самую простую программу, которая просто выводит сообщение в консоль. По традиции, этим сообщением является «Hello world!».

Функция print

Функция print() выводит сообщение в консоль. В скобках в качестве параметра передается сообщение и/или переменные.

Алгоритм

1. Создаем файл с расширением .py

2. Пишем в нем строку

print(«Hello World!»)

Если мы запустим этот файл двойным нажатием левой кнопкой мыши, то он быстро закроется, и мы не успеем разглядеть наше сообщение.

Для того, чтобы этого не происходило добавим функцию input()

Функция input

Функция input() предназначена для считывания данных с клавиатуры. В скобках передается сообщение, которое будет выведено в консоль.

Добавим в конце нашей программы input(«Нажмите enter для продолжения…»), и тогда наша программа не закроется. Код будет выглядеть так:

print(«Hello World!»)

input(«Нажмите enter для продолжения…»)

Я не буду писать программу, а запущу Python из командной строки, чтобы показать вам, что всё работает.

Заключение

Подытожим.

1. Для того, чтобы написать программу на Python, нужно сформулировать, что мы хотим сделать (в нашем примере мы захотели вывести сообщение «hello world» в консоль)

2. Нужно знать синтаксис языка программирования Python (благо, он не такой сложный, в отличии от некоторых других языков программирования)

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

Первый урок по типам данных Python

Русский Питонист

Программист на Python

Можете задавать ваши вопросы в моём телеграм-канале

Мой ютуб-канал:

В этом разделе мы обсудим основной синтаксис и разберем пример 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 вместе с вами, читаю, собираю и записываю информацию опытных программистов.

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

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

Заходи на страницу курса и регистрируйся для участия в бесплатном вебинаре.

Очередной поток курса «Python с нуля» начнется 23 мая 2023. Курс состоит из 14 вебинаров, и будет идти примерно полтора месяца. На курсе ты научишься основам Python, напишешь много интересных скриптов, создашь несколько Telegram-ботов, простого голосового ассистента, освоишь объектно-ориентированный подход, парсинг сайтов, разработку графического интерфейса на PyQt, и многое другое.

Если у тебя на компе есть современный дистрибутив Linux, то в него уже входит Python 3, а писать первые программы будет удобно в IDLE — простом редакторе кода, который прилагается к Python. В Ubuntu, чтобы установить его, набери в консоли:

sudo apt-get install idle3

Запустив IDLE, зайди в Options → Configure IDLE, перейди на вкладку General и поставь галочку на пункте Open Edit Window, нажми ОK и перезапусти IDLE. Теперь можно писать программы, сохранять их и запускать клавишей F5.

Также, можно установить редактор кода Visual Studio Code или PyCharm.

В Windows при установке Python обязательно отметь на первом экране установщика галочку Add to Path, чтобы можно было запускать python3 из командной строки в любом удобном месте.

Переменные

В любом языке программирования есть такая штука, как переменные. Это как в школьной алгебре: вот переменная a = 1, вот переменная b = 2. То есть это ссылки на места в оперативной памяти, где лежит значение, которое может меняться — например, когда ты пишешь после переменной знак равно (оператор присваивания) и какое-то новое значение.

a = 2
b = 2
c = a + b
print(c)

Ну, то, что print(c) — это команда, которая печатает на экране текущее значение переменной, ты уже понял. На экране гордо красуется 4. Поздравляю, два и два сложили!

А если изначально неизвестно, какие числа надо складывать? Тогда пришлось бы сперва попросить юзера ввести их в консоли и нажать Enter. Давай так и сделаем:

beer1 = input('Введи, сколько у тебя литров пива: ')
beer2 = input('Сколько пива принес друг: ')
beer3 = int(beer1) + int(beer2)
answer = 'На двоих у вас: ' + str(beer3) + ' литров пива'
print(answer)

Внутри скобочек у input ты пишешь пояснение для юзера, что конкретно его просят ввести. Но вот беда, по умолчанию все, что вводится через input, является не числом, а строкой, поэтому, прежде чем складывать количество литров пива, нужно сначала преобразовать введенные строки в числа с помощью функции int().

Слово «функция» должно быть знакомо тебе из математики. В скобках мы пишем то, что она принимает (аргументы), а на выходе будет результат. Python сначала подменит переменную на ее текущее значение (int(a) на, скажем, int("5"), а потом функцию — на результат ее выполнения, то есть 5. Бывает, что функция ничего не возвращает, только что-то делает. Например, print() только печатает аргумент.

Окей, преобразовал строки в числа, положил их в переменную beer3, а дальше-то что за треш внутри скобок у print? Нам нужно красиво напечатать результат. Для этого складываем строки (они всегда пишутся в кавычках), поясняющие, что именно выводится на экран, а результат сложения помещаем в переменную answer.

Чтобы строки безболезненно сложились с переменной beer3, в которой лежит число, надо преобразовать его в строку функцией str() — так же как мы превращали строки в числа, только наоборот.

Вообще, типов переменных много, но суть ты уловил — чтобы производить с переменными какие-то действия, нужно их сначала привести к одному типу — к строковому, или к числовому, или еще к какому-нибудь. Если с этим не заморачиваться, Python сложит не числа, а строки и, например, введенные 2 и 3 литра пива в сумме дадут не 5, а целых 23. Хорошо бы так было в реальности!

Вот еще примерчик, рассчитывающий, сколько тебе осталось пить пиво, исходя из средней продолжительности жизни в России:

age = input('Введи, сколько тебе лет: ')
max_age = 73 - int(age)
print('Осталось примерно: ' + max_age + " лет")

Здесь мы вызываем функцию input(), чтобы получить значение, вычитаем его из 73 (средняя продолжительность жизни россиянина), не забыв превратить строку в число, а потом печатаем результат. Внутри print() можно выводить значения разных типов, если написать их через запятую.

Итак, ты узнал, что такое целочисленные и строковые переменные, что эти типы можно преобразовывать друг в друга командами int() и str(). К тому же теперь ты умеешь получать переменные от пользователя с помощью функции input('Введите что-то') и печатать результаты с помощью функции print().

Условия

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

beer = input('Введите Yes, если пиво есть, и No, если пива нет: ')
if beer.lower() == 'yes':
    answer = 'Ты взломаешь Пентагон'
else:
    answer = 'Ты сломаешь свой мозг'
print(answer)

На английском if значит «если», а else — «иначе» или «в противном случае». В строчке после if идет условие, которое мы проверяем. Если оно верно, выполняется первый блок кода (он отделен четырьмя пробелами вначале). Если неверно, то тот, что после else:.

Блоки кода в Python отделаются отступами. Отступ на самом деле может быть любым, например некоторые предпочитают использовать вместо четырех пробелов клавишу Tab. Главное — не смешивать в одной программе отступы разного типа. Если уж начал использовать четыре пробела, то используй их по всей программе.

Еще один важный момент здесь — это знак равенства в условии. Он пишется как двойное «равно» (==) и этим отличается от присвоения — одинарного «равно».

Функция lower(), прежде чем сравнивать условие, делает все буквы в строке маленькими, потому что глупый юзер может ввести слово YES с горящим Caps Lock, и это надо предусмотреть заранее.

На самом деле lower() — не просто функция, а метод класса string (строка). Именно поэтому он вызывается через точку после переменной, которая содержит строку. О классах и методах мы поговорим как-нибудь в другой раз, а пока просто запомни, что некоторые функции вызываются таким образом.

Давай попробуем сделать условие для проверки логина и пароля, используя оператор И, который пишется как and. Он нужен для того, чтобы проверить одновременно выполнение первого и второго условия.

my_name = input('Введите логин: ')
my_pass = input('Введите пароль: ')
if my_name == 'xakep' and my_pass == 'superpassword123':
    answer = 'Добро пожаловать, о великий хакер!'
else:
    answer = 'Ты кто такой, давай до свидания...'
print(answer)

Оператор в Python — это символ, который выполняет операцию над одной или несколькими переменными или значениями: арифметические («плюс», «минус», «равно» и так далее), сравнения (двойное «равно», «больше», «меньше» и прочее), присваивания (равно и несколько других), логические операторы (and, or, not), операторы членства (in, not in) и операторы тождественности (is, is not). Еще есть побитовые операторы для сравнения двоичных чисел.

Давай создадим еще более сложное условие, использовав оператор or, который переводится как ИЛИ.

my_name = input('Введите логин: ')
my_pass = input('Введите пароль: ')
if(my_name == 'ivan' and my_pass == 'superpassword123') or (my_name == 'marina' and my_pass == 'marinka93'):
    answer = 'Привет, ' + my_name + '. Добро пожаловать!'
else:
    answer = 'Ты кто такой, давай до свидания...'
print(answer)

Здесь используются скобки — Python не требует скобок для простых условий, но для сложных они применяются, чтобы явно определить порядок действий. Программа приветствует только двух пользователей, ivan или marina. То есть сначала проверяется, не совпали ли логин и пароль с логином и паролем Ивана, а потом после оператора or проверяется то же для Марины.

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

Вот еще пример, в нем используется elif, который означает что-то вроде ИНАЧЕ-ЕСЛИ. Это применяется для задания нескольких блоков команд: в случае, если одно условие не выполняется, с помощью ELIF проверяется следующее и так далее.

age = int(input('Введи, сколько тебе лет: '))
if v < 18:
    print('Привет, юный хацкер')
elif age < 30:
    print('Превед, олдскул')
elif age < 65:
    print('Решил пересесть с ассемблера на Python?')
elif age < 100:
    print('На пенсии — самое время покодить')
elif age < 100000:
    print('Клан бессмертных приветствует тебя!')

В качестве условий могут выступать различные операторы сравнения:

  • a == 9 (a равно 9)

  • a != 7 (a не равно 7)

  • a > 5 (a больше 5)

  • a < 5 (a меньше 5)

  • a >= 3 (a больше или равно 3)

  • a <= 8 (a меньше или равно 8)

Ты также можешь инвертировать истинность условия (true) на ложность (false) и обратно с помощью слова not.

beer = input('Введи Yes, если пиво есть, и No, если пива нет: ')
if beer.lower() == 'yes': 
    print('Пива нет!')    
if not beer.lower() == 'yes':
    print('Ура, пиво еще есть!')

Например, нужно, чтобы человек ввел число не (NOT) меньше 5.

beer = int(input('Введи, сколько у вас литров пива: '))
if not (beer < 5):
    print('Все нормально, можно начинать взлом')
else:
    print('Пива недостаточно.')

Списки

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

Например, список может быть таким:

my_list = [67, 5, 90, 20, 30]

Каждый элемент списка имеет свой индекс. Чтобы получить одно из значений списка, можно обратиться к его порядковому номеру. Нумерация в списках идет не с единицы, а с нуля, то есть 0, 1, 2, 3, 4…

Команда print(my_list[2]) напечатает число 90 — третий элемент (нумерация-то с нуля!) в списке, который был объявлен выше. Элементов в списках может быть сколько угодно.

Также можно сделать список строк:

names_list = ['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд']

Тогда print(names_list[1]) напечатает строчку Ваня.

Ты можешь добавить в существующий список новое значение с помощью метода append:

names_list.append('Дима')

Теперь список выглядит так:

['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд', 'Дима']

Если надо обратиться к какому-то элементу списка, считая от конца этого списка, можно писать отрицательные числа. Например, последний элемент списка имеет индекс -1, а print(names_list[-1]) напечатает Дима.

Любой список можно отсортировать по возрастанию или по алфавиту.

my_list = [67, 5, 90, 20, 30]
my_list.sort()

После выполнения функции my_list.sort() список примет такой вид: [5, 20, 30, 67, 90].

Теперь немного о срезах. Срез — это как бы получение какой-то части списка, которая, в свою очередь, тоже является списком. Срезы задаются таким образом:

список[x:y:z]

Здесь x — номер элемента, с которого берется срез, y — последний элемент среза, z — интервал, через который мы берем элементы (необязательное значение).

Получаем срез элементов списка my_list с 1 и до 3 (4 не включается в срез):

print(my_list[1:4])

Получаем срез элементов списка my_list с 2 и до конца:

print(my_list[2:])

Получаем каждый второй элемент списка:

print(my_list[::2])

Меняем порядок элементов списка на обратный:

print(my_list[::-1])

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

phrase = 'Hello world'
print(phrase[:5])

На экран выведется Hello, потому что мы напечатали первые пять символов строки.

Элементами списка могут быть другие списки. Чтобы обратиться к элементам списка внутри списка, используй еще одни квадратные скобки:

my_list = [[1, 2, 3], [44, 45, 46]] 

Такой список из списков называется двумерным и напоминает таблицу. Например, чтобы получить первое число во второй строке (индексы 0 и 1, поскольку нумерация с нуля), нужно написать:

print(my_list[1][0])

Результат будет 44.

Список — это изменяемая последовательность. Это значит, что если ты сотворишь какие-то действия над списком, то тебе не придется его переопределять и заново сохранять в переменную. А вот строка — это неизменяемая последовательность. Если ты с ней что-то сделаешь, то придется куда-то поместить полученное новое значение.

Еще один неизменяемый тип данных — это кортеж. Это тот же список, но ты не можешь его изменять. Так он занимает меньше памяти. Объявить кортеж можно с помощью круглых скобок:

my_numbers = (1, 2, 3, 4)

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

my_list = [1, 2, 2, 3, 3, 4, 1]
my_set = set(my_list)
print(my_set)

Результат: set([1, 2, 3, 4]), то есть повторяющиеся элементы исчезли. Кстати, если хочешь превратить множество (или что-то другое) в список, используй функцию list().

Циклы

Цикл — это блок команд, который повторяется определенное количество раз. Циклы можно задавать разными способами. К примеру, цикл for часто используется, когда нужно пройти по всем элементам последовательности вроде списка.

my_list = [15, 50, 60, 97, 78]
for n in my_list:
    n += 1
    print(n)

Здесь изначально имеется список чисел, а далее с помощью конструкции for n in my_list проходим по очереди каждый элемент этого списка и совершаем с ним какие-то действия. Эти действия, как и в случае с условиями, отделяются отступом в четыре пробела.

Переменная n в данном случае поочередно принимает значение каждого элемента списка my_list, мы прибавляем к этому значению единичку, печатаем результат и переходим к следующему витку цикла — то есть берем следующее в списке значение и делаем с ним то же самое, и так, пока список не кончится.

Если просто нужно выполнить команды заранее известное количество раз, то используй цикл for и функцию range().

for n in range(5): 
    print('Я ', n + 1, ' кружка пива')

Если у тебя есть какой-либо список, можно легко пробежать по нему циклом:

leaders = ['Ленин', 'Сталин', 'Хрущёв', 'Брежнев', 'Горбачёв', 'Ельцин', 'Путин', 'Медведев']
# Ах да, Путин же потом вернулся. Нужно добавить его еще раз.
leaders.append('снова Путин')
for name in leaders:
	phrase = 'Был ' + x + ' а после него... '
	print(phrase)

Теперь пора узнать о списке while. Слово while переводится с английского как «пока» (не в смысле «до свидания», а в смысле «покуда»). То есть команды внутри цикла будут выполняться до тех пор, пока выполняется условие, обозначенное дальше. Например, вот цикл, который напечатает все четные числа от 1 до 100.

a = 0
while a < 100:
    a = a + 1
    if (a % 2) == 0:
      print(a)

Как мы проверили, что число четное? В этом нам помог оператор %, который возвращает остаток от деления. Если при делении пополам получается ноль, значит, число четное!

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

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

import os
while True:
    x=os.fork()

Тут мы делаем новую вещь, которую тоже стоит запомнить, — импортируем модуль, а именно модуль os, в котором содержатся команды для обращения к разным функциям операционной системы.

Потом внутри цикла while создаем бесконечные копии себя. В качестве условия мы здесь написали просто True, то есть просто «истина». Тело цикла никак это значение изменить уже не сможет, и поэтому цикл будет исполняться снова и снова, а os.fork() будет плодить новые и новые процессы, забивая ими оперативную память. Так что, товарищ, будь аккуратней с циклом while!

Практическая задача: мониторим буфер обмена

А теперь от учебных примеров перейдем к чему-нибудь интересному! В конце концов, мы ведь изучаем программирование не просто из любопытства. Давай напишем программу, которая будет следить за тем, что происходит в буфере обмена.

Одна из сильных сторон Python — это огромная база готовых модулей, которые можно брать и подключать к своим программам. Чтобы их установить и использовать внутри своих программ, можно заюзать менеджер пакетов под названием pip. Будем считать, что pip у тебя уже установлен.

Первым делом ставим при помощи pip модуль, который отвечает за работу с буфером обмена. В Windows это будет вот такая команда:

pip install pyperclip

В Linux — слегка другая:

pip3 install pyperclip

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

# Подключим модуль для работы с буфером обмена
import pyperclip
# Подключим модуль для работы с системным временем
import time
# Задаем переменную old и присваиваем ей пустую строку
old = ''
# Начнем бесконечный цикл слежения за буфером обмена
while True:
	# Кладем в переменную s содержимое буфера обмена
	s = pyperclip.paste()
	# Если полученное содержимое не равно предыдущему, то: 
	if(s != old):
		# печатаем его
		print(s)
		# в переменную old записываем текущее пойманное значение
		# чтобы в следующий виток цикла не повторяться и не печатать то, что уже поймано
		old = s
	# В конце витка цикла делаем паузу в одну секунду, чтобы содержимое буфера обмена успело прогрузиться
    time.sleep(1)

Ну вот, поздравляю, ты написал программу, которая может ловить все, что юзер копирует в буфер обмена. Дальше ее можно развивать — к примеру, вместо вывода на экран записывать пойманные строки в файл с логом или отправлять по сети. Но мы ведь только начали, правда?

Домашнее задание

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

  1. Сделай программу, которая вычисляет твой идеальный вес в зависимости от роста и возраста. Найди соответствующую формулу в поисковых системах и реализуй условие для расчета. Пиво пивом, а за здоровьем нужно следить!

  2. Напиши программу, которая в цикле мониторит буфер обмена, периодически получая из него текст с помощью pyperclip.paste(), и, если видит, что кем-то был скопирован какой-то email, заменяет этот email другим, заранее прописанным в коде, помещая его в буфер обмена командой pyperclip.copy('coolhacker@xakep.ru').

Отпишись в комментариях, если статья оказалась полезной. И не забудь: 14 мая (в воскресенье) в 12:00 по Москве мы ждем тебя на бесплатном вебинаре!

Автор: Иван Сараев

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

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

Python_Pro_970x90-20219-1c8674.png

Итак, прежде чем мы приступим к написанию программы, давайте установим 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_Pro_970x550-20219-0846c7.png

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

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