Как используется язык?
А еще как?
Кто использует язык?

Все в программировании структурировано, подчиняется логике, алгоритмизированно.
Написание программы требует в первую очередь не знания языка, а умения строить логические цепочки, связывать события между собой, т.е. строить алгоритмы.
Для построения алгоритмов рекомендуется использовать блок-схемы. Первое время студентам настоятельно рекомендуется строить блок-схемы даже для самых простых задач, далее - только для тех, которые кажутся им сложными.
Блок-схемой называется графическое представление алгоритма. В блок-схеме шаг или последовательность шагов алгоритма представляется в виде блока, а между блоками устанавливаются связи.
Начало и конец алгоритма изображаются скругленными прямоугольниками, обычные действия - прямоугольниками, условия - ромбами, ввод и вывод данных - параллелограммами. Для более подробного ознакомления с блок-схемами читайте википедию на эту тему, и см. правило 2.
Для примера построим блок-схему алгоритма подбора преподавателя на курсы A-Level Ukraine :)
Переменной называется поименованная область в памяти, где хранятся данные. Переменная имеет тип и имя. Для того, чтобы создать переменную и записать в нее значение, используется оператор присвоения (=). У каждой переменной в python в текущий момент времени может быть только один тип.
Типом переменной называется тот вид данных, который на данный момент может хранить переменная. Все виды данных в языках программирования можно отнести к двум группам: скалярные (простые) типы данных и структурированные (составные) типы данных.
На этом уроке мы работаем только со скалярным типом данных integer (целые числа) и структурированным типом данных string(строка), представляющим собой последовательность символов. Подробнее структурированные типы данных будут рассмотрены на следующих уроках.
Далее представлены переменные различных скалярных (простых) типов:
my_integer = 4 #целые числа
my_float = 4.12 #дробные числа
my_char = 'a' #символы
my_bool = True #правда или ложь, булева алгебраСтатическая типизация означает, что тип переменной определяется изначально и остается неизменным до конца программы. Если переменная изначально объявлена контейнером для целых чисел, в ней могут находиться только целые числа.
Динамическая типизация означает, что одну и ту же переменную можно сначала инициализировать строкой, потом числом, потом булевым значением, и так далее. Таким образом тип переменной определяется ее значением на текущий момент времени.
Сильная (строгая) типизация не позволяет языку программирования игнорировать разницу между типами данных операндов.
Слабая (нестрогая) типизация позволяет языку вольно интерпретировать тип переменных для их взаимодействия, язык сам меняет тип переменной в зависимости от ее использования. К примеру, если прибавить к числу строку, в которой записано число, язык автоматически прибавит число, находящееся в строке.
Далее представлены переменные различных основных типов языка:
my_integer = 4 #целые числа
my_float = 4.12 #дробные числа
my_str = 'aaaa' #строки
my_bool = True #True, False, правда или ложь, булевы значения
my_list = [1, 2, 3, 'x'] # список с разнородными элементами
my_tuple = (1, [2]) # кортеж - неизменяемая последовательность
my_dict = {'2':2, '3':3} # словарь - неупорядоченная последовательность
my_set = set((1, 2, 3, 2, 1)) # множество
>>> my_set
{1, 2, 3}Здесь мы увидели числа, целые и дробные, строку, булеву переменную, список, кортеж, множество и словарь.
Над целыми и дробными числами доступны математические операции умножения (+), деления (/), вычитания (-), сложения (+), возведения в степень (**) и получение остатка от деления (%):
int1 = 4
int2 = 8
result = int1 + int2 # result = 12
result = int2 - int1 # result = 4
result = int1 * int2 # result = 32
result = (int2+1) // int1 # result = 2
result = int2 ** int1 # result = 4096
result = (int2+1) % int1 # result = 1Для вывода данных используется функция print:
int1 = 4
str1 = "8"
print(int1) #выведет 4
print('text') #выведет text
print("text") #выведет text
print(str1) #выведет 8В Python есть изменяемые (mutable) и неизменяемые (immutable) типы данных.
Ранее рассматривался тип данных int, который является неизменяемым. Так же неизменяемыми являются типы данных tuple (кортеж) и string (строка).
Что значит неизменяемыми? Значит, что изначально созданную строку мы изменить не можем. Это легко покажут дальнейшие примеры со строками и кортежами. Если же кажется, что объект одного из перечисленных данных изменился - значит теперь имя объекта просто указывает на новую область в памяти с новым объектом.
В качестве первой программы мы напишем небольшой скрипт. Скрипт будет получать на вход суммы денег, суммировать их и прекратит свою работу, когда сумма превысит тысячу (к примеру, долларов США). Каждую введенную сумму скрипт будет распределять по шести "конвертам":
- Конверт на "необходимые траты и нужды" получает 55% всех средств.
- Конверты на "финансовую свободу", "образование", "резерв и больше покупки" и "развлечения" получают по 10% средств.
- Конверт "на подарки" получает оставшиеся 5% средств
Для удобства работы с программой она будет разбита на небольшие куски. Внутри программы есть комментарии на английском языке, а вне кода куски программы прокомментированы на русском.
# -*- coding: utf-8 -*-
# initializing empty envelops
necessityEnvelop = 0 # NEC, необходимые траты
freedomEnvelop = 0 # FFA, финансовая свобода
educationEnvelop = 0 # EDU, образование
longTermEnvelop = 0 # LTSS, резерв и на большие покупки
playEnvelop = 0 # PLAY, развлечения
giveEnvelop = 0 # GIVE, подарки
# initializing percent rate
necRate = 0.55
ffaRate = 0.1
eduRate = 0.1
ltssRate = 0.1
playRate = 0.1
giveRate = 0.05
# initializing expected income, expected necessity and other amounts
expectedIncome = 1000Иинициализация переменных конвертов и коэффициентов
# invitation, greetings etc.
print ("""Hello.\n
We gonna fill your envelops by the money you input here!\n
Please input your amounts of money income and see the results.\n
Press Ctrl+c to exit script.
\n\n Enter the amount please:""")Вывод приглашения в консоль
# initializing handler for standard input
sum = 0
while (sum < expectedIncome):
line = int(input())
sum += line
necessityEnvelop += line * necRate
freedomEnvelop += line * ffaRate
educationEnvelop += line * eduRate
longTermEnvelop += line * ltssRate
playEnvelop += line * playRate
giveEnvelop += line * giveRate
print("\n Enter the amount please:")Цикл обработки поступающих от пользователя сумм
Строка
line = int(input())означает "считать в переменную line одну строку из консоли".
# final output
print("At the end we have:\n\
Necessity Envelop has: " + str(int(necessityEnvelop)) + "\n\
Financial Freedom Envelop has: " + str(int(freedomEnvelop)) + "\n\
Education Envelop " + str(int(educationEnvelop)) + "\n\
Long Term Saving for Spending Envelop has: " + str(int(longTermEnvelop)) + "\n\
Play Envelop has: " + str(int(playEnvelop)) + "\n\
Give Envelop has: " + str(int(giveEnvelop)) + "\n\
_______________________________________________________________\n\
\
Thanks for using our software :)")Результирующий вывод данных




