программирование первый Урок программирования

PHP ( PHP: Hypertext Preprocessor, задумчивый препроцессор

B 1 yрокe познакомимся с основным синтаксисом, а так же напишем свой первый скрипт.

Основы синтаксиса

Как вы видите скрипт состоит из одной строчки.

Что бы выполнить скрипт необходимо соответствующее ПО, для пользователей Windows я рекомендую Denwer (http://denwer.ru)
После установки Denwera создаем в каталоге hosts папку Script.test, в которой в свою очередь создаем папку

WWW. В папке WWW создаем файл index.php? в который переносим содержимое нашего файла.

После сохранения файла перезапустите Denwer. Затем в строке браузера наберите script.test

И вауля! Мы видем надпись Hello World!

Как ненадо писать Hello World

Hello World Не пишется так

Ну уж точно не так:

Завершение.

Время на прочтение

Если ты в своей жизни не написал ни строчки кода, то скорее всего подумывал, что неплохо бы уметь это делать. Сегодня перед человеком, который знает 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

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

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

Здравствуйте, уважаемые читатели!

В этом блоге будут публиковаться уроки по обучению программированию на примере языка C#, а также практические задачи для формирования навыков программирования.

Цель курса: поэтапное обучение программированию студентов с базовыми навыками владения компьютером. Требуемый уровень английского языка будет изучаться в процессе обучения.

Сначала попытаемся ответить на вопрос: «Зачем надо уметь программировать?».

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

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

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

Так что же такое программа? По сути, программа – это текст, который объяснит процессору компьютера, что надо делать.

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

Итак, в чём же пишутся программы? Программы пишутся в интегрированной среде программирования, т.е. в IDE (англ. – integrated development environment). По сути, это текстовый редактор, который может запустить код, т.е. он преобразует команды программиста в команды, которые понимает процессор.

В нашем курсе мы будет работать в Visual Studio. Эта среда программирования (или IDE) имеет официальную бесплатную версию на русском языке. Интерфейс Visual Studio выглядит следующим образом.

При установке IDE необходимо установить следующие компоненты:

Далее открываем Visual Studio и создаём новое консольное приложение.

Поздравляю! Вы разработали свой первый код, который печатает текст в консоли.

Английские слова для запоминания:

1. Console – консоль;

2. Write – писать/записывать;

3. Line – линия/строка.

Практическая задача. Выведите в консоль следующие слова и словосочетания:

1. Интегрированная среда программирования;

3. Visual Studio;

5. Низкоуровневый язык программирования;

6. Объектно-ориентированный язык программирования.

До встречи в следующих выпусках. Хотите получать новые уроки? Подписывайтесь!

BYTE целое число от 0 до 255, занимает одну ячейку памяти (байт).

BOOLEAN логическое значение (байт, заполненный единицами, или нулями), true, или false.

WORD целое число от 0 до 65535, занимает два байта.

INTEGER целое число от –32768 до 32767, занимает два байта.

LONGINT целое число от –2147483648 до 2147483647, занимает четыре байта.
REAL
число с дробной частью от 2.9*10-39.до 1.7*1038, может принимать и отрицательные значения, на экран выводится с точностью до 12-го знака после запятой, если результат какой либо операции с REAL меньше, чем 2.9*10-39, он трактуется как ноль. Переменная типа REAL занимает шесть байт.

DOUBLE
число с дробной частью от 5.0*10-324.до.1.7*10308, может принимать и отрицательные значения, на экран выводится с точностью до 16-го знака после запятой ,если результат какой либо операции с DOUBLE меньше, чем 5.0*10-324, он трактуется как ноль. Переменная типа DOUBLE занимает восемь байт.

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

STRING строка символов, на экран выводится как строка символов, коды которых хранятся в последовательности байт, занимаемой выводимой переменной типа STRING; в памяти занимает от 1 до 256 байт – по количеству символов в строке, плюс один байт, в котором хранится длина самой строки.

Переменная типа байт будет иметь следующий вид:
var
a:byte;
так-же к одному типу можно приписывать множество переменных:
var
a,b,c,d,e:integer;

Так же – типы могут задаваться пользователем с помощью описательного блока Type.
Сперва указывается название типа, а затем описание типа. В качестве описания типа может быть множество.

С данным блоком мы познакомимся более подробно в следующих уроках.
Третий описательный блок – константы.
константы – не имеют типа(за исключением типизированных констант, но об этом позже). Они делятся на числа и символы.

Для написания простейшей программы, этого достаточно. Дальше мы это рассмотрим более подробно. А теперь напишем вашу первую программу.

Суть программы будет в проведении арифметических действий над двумя числами и записи результата в третье.
Сперва опишем переменные.
var
a,b,c:real;
(напомню, что переменные типа real(иначе числа с плавающей точкой или числа с плавающей запятой), могут содержать в себе дробные числа(в отличии от integer). Два данных типа наиболее часто используются в базовых уроках).
После описания идут программные скобки. В разных языках они разные, в Pascal программные скобки представлены в виде слова Begin(Открывающая скобка) и End.(Закрывающая).
В коде они выглядят так:
Begin
End.
Таких скобок может быть несколько, однако основные скобки, всегда заканчиваются словом End.(с точкой).
Арифметические действия в Паскале изображаются стандартными символами.
“+”-сложение
“-” – вычитание
“/”-деление
“*”-умножение
Чтобы записать результат выполнения в переменную используется команда присвоения. – “:=”;
Но прежде чем выполнять данные действия, необходимо внести значения переменных в программу. Для того, чтобы программа запросила вод данных, используется команда Read().
Поскольку арифметические действия будут выполнятся над 2мя числами – программа должна запросить на ввод – 2 числа.

Read(a,b);
(Обратите внимание, что операторы(строки выполняющие какие либо действия) разделяются точкой с запятой).
Но помимо ввода, данных, нам необходимо вывести результат на экран. Для этого используется команда Write().
Оформим нашу программу.

var
a,b,c:real;
begin
read(a,b);
c:=a+b;
write(c);
end;
Алгоритм нашей программы можно описать так: Ввод данных, подсчёт суммы введённых чисел и запись их в переменную результата. Вывод переменной результата.
Оператором Write, можно выводить не только переменные, но и просто текст! Текст для вывода берётся в кавычки.

Операторы Pascal не восприимчивы к регистру.(Другими словами, неважно большими или маленькими буквами писать).
Теперь, после того как вы записали программу, нажмите комбинацию клавиш Ctrl+F9 или Run на панели инструментов, для запуска программы. Что мы видим? Программа выполнилась и сразу закрылась. ( Если это не так, значит у вас возникли ошибки, окно в нижней части экрана, должно уведомить вас об этом). Что бы увидеть результат выполнения программы, нажмите F5.
Попробуйте составить программу, которая не суммирует, а делит или умножает числа.
Так же внизу представлены некоторые бинарные(для двух чисел) команды, без описания. Попробуйте узнать – что они делают и для какого типа данных предназначены(real или integer):
+

/
*
div
mod
А на сегодня всё. Если этот пост будет одобрен, увидимся на следующем уроке. Удачи)

Добрый день. Хочу представить Вам курс по пониманию азов программирования. Учиться программированию мы с Вами будем на Javascipt. Но не просто Javascipt, который в силу не знания html и css, будет даваться с трудом, а графический фреймворк Phaser.

Для обучения Вам необходим любой браузер, но я бы порекомендовал бы Chrome (т.к. все уроки я буду демонстрировать в нем) и любой текстовый редактор (Sublime Text 3 подойдет без проблем).

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

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

В хроме открываем core.html или index.html через локальный сервер и видим результат:

На скриншоте включена консоль разработчика (для этого используйте клавишу F12 под Windows, а если у вас Mac, то Cmd+Opt+J.), постепенно я научу Вас ей пользоваться.

Как видите на страничке у нас выделенная черная область, а в ней летает печенюшка 🙂

Выделенная черная область – это полотно в области которого мы можем рисовать или выводить изображения. В эту область была загружена и выведена картинка. На следующей картинке представлен файл core.js.

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

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

var Game = null;

Все переменные в языке программирования Javascipt создаются с использованием ключевого слова “var”. Ключевое слово – это слово зарезервированное языком программирования и его использовать как имя переменной или имя функции нельзя. На скриншоте исходного кода, все зарезервированные слова пишутся фиолетовым цветом. После создания переменной обращаться к ней нужно без использования слова “var”. В первой строке мы создали переменную, в 4, 8, 12 мы обращаемся к данной переменной без добавления “var”. Чтобы изменить значение переменной используется оператор присваивания “=”. Простой символ “=” заменить значения переменной. “null” – это просто ноль, очищает область в памяти. Хороший стиль программирования – когда каждая новая переменная будет обнулена принудительно. Были на моей практике случаи, когда писал под мобильные девайсы на С++, что иОС обнуляет переменные, Андроид частично обнуляет, частично – нет.

Функции используются для объединения логических участков кода. В нашем примере три функции:

document_loaded – выполняется когда страница в браузере загрузилась.

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

create – функция с которой мы и начинаем все наши действия 🙂

function – зарезервированное слово, говорит о том, что дальше программист будет описывать функцию. “document_loaded” – имя функции. Программист может сам придумывать любые имена функциям, кроме зарезервированных слов. Пустые круглые скобки говорят о том, что функция не принимает никаких данных. Далее идут фигурные скобки – между открывающейся и закрывающейся фигурными скобками помещается необходимый код (по сути часть программы).

Это если вкратце в теории, а теперь посмотрим на все как оно выглядит на практике.

В первой строке мы создали переменную и придумали ей имя Game. Т.к. эта переменная в данной строке создается нами, то мы перед ней пишем ключевое слово “var” и обнуляем ее, присвоив null.

В третьей строке мы сообщаем, что хотели бы создать функцию с именем “document_loaded” и без параметров (пустые круглые скобки). После этого открываем фигурную скобку и переходим в четвертую строку.

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

Phaser’а. Вас не должно смущать то, что и наша переменная и имя функции в Phaser имеет одинаковое имя Game, этот прием демонстрирует, что одинаковые имена переменных и функций могут встречать в разных классах.

Все что Вам необходимо знать на данный момент в 4-ой строке, это то, что 800 и 600 – размеры в пикселях рабочей области (черная область).

( 7 – 9 строки)

В данных строках мы говорим, что хотим создать функцию с именем preload и которая не будет принимать параметры. Game.load.image – загружает картинку из папки ‘images’ с именем ‘pechenka.png’ и дает внутреннее имя данной картинке ‘bayan’.

В 11 строке создаем функцию с именем “create”, которая не будет принимать никаких параметров. В данной функцие в строе 12 создаем новую переменную “test” в которую помещаем ссылку на прорисованную картинку. Картинка, которая была до этого загружена в 8 строке, добавляется на сцену следующим кодом: Game.add.sprite, где первые два параметра это координаты х и у, а третий параметр – внутрисистемное имя картинки. Т.к. переменная “test” создается впервые, то перед ней пишем ключевое слово “var”.

В Javascipt есть глобальные и локальные переменные. Переменная “Game” является глобальной, т.к. мы ее описали не внутри какой-либо функции, а вне этого. Поэтому получить данные из этой переменной мы сможем в любом месте программы. С другой стороны, переменная “test” описана внутри функции “create” и к ней можно обращаться (брать значение) только между фигурными скобками внутри которых она создана, т.е. между 11 и 13 строками.

Чтобы можно было двигать изображение, необходимо переменную в которую помещаем картинку, сделать не локальной, а глобальной:

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

Если посмотреть на картинку справа в нижнем углу есть запись test.x = 0 и test.x = Game.width / 2. Это консоль в хроме с помощью нее можно изменять некоторые свойства у переменных. В данных примерах в начале для печеньки координата х присваивается 0, потом присваивается половина от ширины поля. Если вы попробуете то же самое у себя сделать, то в начале печенька как бы прилипнет к левому краю, а потом переместиться на позицию как на картинке. Кроме x есть также вторая координата y. Попробуйте поиграться с этими двумя координатами, задав в начале позицию (0,0), потом центр экрана и максимальные width и height области. Определите от какой точки идет позиционирование рисунка. Разберитесь как и куда смотрят оси координат, при этом x и y могут быть отрицательными числами тоже.

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

Шаг 1: Выберите язык программирования Первый шаг — выбрать язык программирования, который вы хотите изучать. Существует множество языков программирования, каждый из которых имеет свои преимущества и недостатки. Однако, если вы начинаете с нуля, рекомендуется выбрать язык, который легко изучить и имеет большое сообщество разработчиков, такой как Python или JavaScript.

Шаг 2: Изучите основы Когда вы выбрали язык программирования, следующий шаг — изучить основы. Начните с изучения базовых концепций, таких как переменные, типы данных, операторы и условные операторы. Эти концепции являются основой любого языка программирования, поэтому очень важно понимать их.

Шаг 3: Напишите свою первую программу Когда вы изучили основы, напишите свою первую программу. Это может быть простой скрипт, который выводит текст на экран или решает математическую задачу. Не бойтесь делать ошибки — это нормально в процессе изучения.

Шаг 4: Практикуйтесь Чтобы стать лучшим программистом, нужно практиковаться. Решайте задачи и проекты, которые помогут вам применять свои знания на практике. Попробуйте реализовать какой-нибудь проект, который вам интересен. Например, создайте веб-приложение или игру.

Шаг 5: Общайтесь с сообществом Чтобы получить больше информации и научиться лучше, не забывайте общаться с сообществом программистов. Участвуйте в дискуссиях, задавайте вопросы и обменивайтесь опытом. Также существуют множество онлайн-курсов и ресурсов, которые могут помочь вам на пути к изучению программирования.

Основная терминология в программировании:

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

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

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

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

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

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

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

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

Большое количество книг по всем языкам программирования ты можешь найти в канале – Библиотека

Подписывайся и развивайся!

Циклы

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

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

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

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

for n in range

:
print(‘Я ‘, n + 1, ‘ кружка пива’)

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

Теперь пора узнать о списке 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!

Условия

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

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

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

Давай создадим еще более сложное условие, использовав оператор 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 <= 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('Пива недостаточно.')

Списки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

my_numbers = (1, 2, 3, 4)

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

Переменные

В любом языке программирования есть такая штука, как переменные. Это как в школьной алгебре: вот переменная 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().

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

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

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

Мониторим буфер обмена

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

Одна из сильных сторон 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 уроки тетушки совы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *