Быстрый старт в Python для абсолютных нулей в программировании

92e64ec168064440b931d5a908aa7eac

Решил на днях написать учебное пособие (туториал), которое хорошо бы объясняло принципы программирования на базе простого примера-калькулятора. В качестве первого языка взял Python так как он самый лёгкий ЯП для начала (я сам на нём начанал!). Итак, поехали!

Урок 1. Переменные

Возьмём самый распространённый пример первой программы для всех начинающих программистов:

print('Hello, world!')

Что делает эта функция? Судя из её названия print она печатает на экран, заключённую в кавычках (одинарных или двойных), строку Hello, world!, что означает «Привет, мир!» в переводе с английского.

Теперь, давайте перейдём к переменным.

Выражения x = 2 и y = 3 — это переменные, которые представляют собой участки памяти, хранящие информацию: числа, строки, объекты (об этом позже). Они нам знакомы ещё с математики. Теперь подставим их в функцию вывода:

x = 2

y = 3

print(x+y)

Итого мы получим в выводе число пять.

Мы могли также подставить строку «Hello, world» в print через переменную str

(переменные в программировании принято называть по-английски, чтобы код могли читать другие, да и чтоб он нормально выглядел и был читаем. Здесь str от слова string — строка)

str = "Hello, world!"

print(str)

…и изменять её в процессе работы программы:

str = "Hello, world!"

print(str)

str = "Hello, me!"

print(str)

Теперь напишем какое-то осмысленное приложение. Имея некоторые навыки, мы можем написать простейший калькулятор используя функцию ввода:

x = int(input('Input the x number: '))

y = int(input('Input the y number: '))

print('Result of addition: ', x + y)

print('Result of multiplication: ', x * y)

print('Result of subtraction: ', x - y)

print('Result of division: ', x / y)

Функция input здесь используется для ввода данных, используя строку описания вводимых данных, а функция int для преобразования введённой строки в числовой формат (не забывайте об этом! Иначе рискуете нарваться на ошибку интерпретатора Python!) И т.д. можно продолжать список математических операций над двумя переменными, но мы остановились на самых базовых из которых возможно состоит вся математика. Компьютеры зачастую понимают только арифметику поэтому для них были разработаны математические функции на базе арифметики.

Урок 2. Условные выражения.

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

if x > y:

    print('x is greater then y')

Напечатает строку, если переменная x будет больше y.

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

first_word = input()

second_word = input()

if first_word == second_word:

    print('These word are equal.')

else:

    print('These word are NOT equal.')

Если введённые слова будут не равны сработает дополнительный оператор else который об этом предупредит.

Замечание: В Python для выделения кода который содержат операторы и функции используется отступ клавиши Tab. Если он будет неправильно выставлен, интерпретатор может выдать ошибку! Будьте внимательны!

Теперь модернизируем нашу прошлую программу-калькулятор:

op = input('Enter the x operation: ')

x = input('Input the x number: ')

y = input('Input the y number: ')

if op == '+':

    print('Result of addition: ', x + y)

elif op == '-':

    print('Result of subtraction: ', x - y)

elif op == '*':

    print('Result of multiplication: ', x * y)

elif op == '/':

    print('Result of division: ', x / y)

else:

    print('Unknown operation. Use +, - , * , /.')

Примечание: elif (else if) здесь используется для создания цепочки условий при невыполнении которых срабатывает общее правило else.

Урок 3. Циклы и массивы (списки)

Чтобы не повторять однотипные действия в языках программирования есть такое понятие как циклы. Например, цикл:

for i in range(5):

    print('Hello, world!')

Напечатает знаменитую строку «Hello, world!» 5 раз вместо поочерёдного написания строк:

print('Hello, world!')

print('Hello, world!')

print('Hello, world!')

print('Hello, world!')

print('Hello, world!')

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

Циклы также нередко используются для перечисления элементов массива:

numbers = ['Раз', 'два', 'три', 'четыре','пять','Вышел зайчик погулять']

for i in numbers:

    print(i)

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

Пустой массив:

array = []

Обращение к массиву:

array[порядковый_номер_элемента]

Замечание: Порядковый номер массива (индекс) во многих языках программирования начинается с нуля, а не единицы.

Итак модернизируем наконец наш калькулятор чтобы он мог складывать что-то кроме двух чисел:

str = input()

numbers = str.split(" ") #Используем в качестве разделителя чисел пробел

result = int(numbers[0]) #Собираем результаты операций в первое число

for i in range(len(numbers)): #Получаем размер массива numbers

    if numbers[i] == '+':

        result += int(numbers[i+1]) #Прибавляем следующий после знака + элемент

    if numbers[i] == '-':

        result -= int(numbers[i+1]) #Вычитаем следующий после знака -элемент

print(result)

Ввод: 3 — 2 + 2

Вывод: 3

P.S. Этот калькулятор использует только два арифметических действия: сложения и вычитания. Вообще по-хорошему надо было делать обратную польскую запись, но это может выходить за пределы этой статьи целью которой было объяснить все базовые понятия языка на одном конкретном примере. А дальше идёт только ваша фантазия и знания нужных команд (функций или методов).

© Habrahabr.ru