A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
Python-Extended-First / lesson01.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
203 lines (144 sloc) 12.2 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
Урок 1. Знакомство с Python
Все в программировании структурировано, подчиняется логике, алгоритмизированно.
Написание программы требует в первую очередь не знания языка, а умения строить логические цепочки, связывать события между собой, т.е. строить алгоритмы.
Для построения алгоритмов рекомендуется использовать блок-схемы. Первое время студентам настоятельно рекомендуется строить блок-схемы даже для самых простых задач, далее — только для тех, которые кажутся им сложными.
Программирование на Python «для тупых» 011.1 блок схемы
Блок-схемой называется графическое представление алгоритма. В блок-схеме шаг или последовательность шагов алгоритма представляется в виде блока, а между блоками устанавливаются связи.
Начало и конец алгоритма изображаются скругленными прямоугольниками, обычные действия — прямоугольниками, условия — ромбами, ввод и вывод данных — параллелограммами. Для более подробного ознакомления с блок-схемами читайте википедию на эту тему, и см. правило 2.
Для примера построим блок-схему алгоритма подбора преподавателя на курсы A-Level Ukraine 🙂
Переменные в Python: определение, типы данных.
Переменной называется поименованная область в памяти, где хранятся данные. Переменная имеет тип и имя. Для того, чтобы создать переменную и записать в нее значение, используется оператор присвоения (=). У каждой переменной в python в текущий момент времени может быть только один тип.
Типом переменной называется тот вид данных, который на данный момент может хранить переменная. Все виды данных в языках программирования можно отнести к двум группам: скалярные (простые) типы данных и структурированные (составные) типы данных.
На этом уроке мы работаем только со скалярным типом данных integer (целые числа) и структурированным типом данных string(строка), представляющим собой последовательность символов. Подробнее структурированные типы данных будут рассмотрены на следующих уроках.
Далее представлены переменные различных скалярных (простых) типов:
my_integer = 4 #целые числа my_float = 4.12 #дробные числа my_char = ‘a’ #символы my_bool = True #правда или ложь, булева алгебра
Статическая типизация означает, что тип переменной определяется изначально и остается неизменным до конца программы. Если переменная изначально объявлена контейнером для целых чисел, в ней могут находиться только целые числа.
Курс по Python. Часть 13. Блок-схемы и алгоритмы
Динамическая типизация означает, что одну и ту же переменную можно сначала инициализировать строкой, потом числом, потом булевым значением, и так далее. Таким образом тип переменной определяется ее значением на текущий момент времени.
Сильная (строгая) типизация не позволяет языку программирования игнорировать разницу между типами данных операндов.
Слабая (нестрогая) типизация позволяет языку вольно интерпретировать тип переменных для их взаимодействия, язык сам меняет тип переменной в зависимости от ее использования. К примеру, если прибавить к числу строку, в которой записано число, язык автоматически прибавит число, находящееся в строке.
Далее представлены переменные различных основных типов языка:
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.
nn 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 :)»)
Результирующий вывод данных
Источник: github.com
Как отобразить на блок-схеме функцию?
Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете.
11 дек 2021 в 6:03
Есть код. Как составить его блок-схему?
11 дек 2021 в 6:11
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Конкретно в блок-схеме не получится отобразить функцию. Но можно сделать так: составить блок-схему функции и назвать её именем функции, потом составить ещё одну блок-схему, в которой данная функция вызывается.
Отслеживать
ответ дан 11 дек 2021 в 6:42
127 1 1 золотой знак 1 1 серебряный знак 9 9 бронзовых знаков
Отслеживать
ответ дан 11 дек 2021 в 7:14
9 1 1 серебряный знак 4 4 бронзовых знака
В текущем виде ваш ответ непонятен. Пожалуйста, нажмите править под сообщением, чтобы добавить больше подробностей, которые помогут другим понять, как он отвечает на заданный вопрос. Вы можете найти больше информации о том, как писать хорошие ответы в Справке.
11 дек 2021 в 7:18
Да, в принципе. всё верно.
11 дек 2021 в 7:34
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
- python
- функции
- блок-схема
Источник: ru.stackoverflow.com
8.2. Python – Цикл for: синтаксис, блок-схема, примеры, оператор else с циклом for
Цикл for в Python имеет возможность перебирать элементы любой последовательности, например списка или строки.
Синтаксис
Синтаксис цикла for в Python:
for iterating_var in последовательность: оператор(ы)
Если последовательность содержит список выражений, она вычисляется первой. Затем первый элемент последовательности присваивается переменной итерации iterating_var. Далее выполняется блок операторов. Каждому элементу в списке присваивается значение iterating_var, и блок операторов выполняется до тех пор, пока не будет исчерпана вся последовательность.
Блок-схема
Пример
#!/usr/bin/python for letter in ‘Python’: # Первый пример print ‘Текущая буква: ‘, letter fruits = [‘банан’, ‘яблоко’, ‘манго’] for fruit in fruits: # Второй пример print ‘Текущий фрукт: ‘, fruit print «До свидания!»
Когда приведённый выше код выполнится, он даст следующий результат:
Текущая буква: P Текущая буква: y Текущая буква: t Текущая буква: h Текущая буква: o Текущая буква: n Текущий фрукт: банан Текущий фрукт: яблоко Текущий фрукт: манго До свидания!
Итерация цикла for по индексу последовательности
Альтернативный способ перебора каждого элемента — смещение индекса в самой последовательности. Ниже приведен простой пример:
#!/usr/bin/python fruits = [‘банан’, ‘яблоко’, ‘манго’] for index in range(len(fruits)): print ‘Текущий фрукт: ‘, fruits[index] print «До свидания!»
Когда приведённый выше код выполнится, он даст следующий результат:
Текущий фрукт: банан Текущий фрукт: яблоко Текущий фрукт: манго До свидания!
Здесь мы воспользовались помощью встроенной функции len(), которая предоставляет общее количество элементов в кортеже, а также встроенной функции range(), чтобы дать нам фактическую последовательность для повторения.
Использование оператора else в цикле for
Python поддерживает оператор else, объединенный с оператором цикла for. Если оператор else используется с циклом for, оператор else выполняется, когда цикл исчерпал итерацию списка.
В следующем примере показана конструкция оператора else с оператором for, который выполняет поиск простых чисел от 10 до 20.
#!/usr/bin/python for num in range(10,20): #повторять от 10 до 20 for i in range(2,num): #перебирать множители числа if num%i == 0: #определить первый множитель j=num/i #вычислить второй множитель print ‘%d равно %d * %d’ % (num,i,j) break #перейти к следующему числу, #первый FOR else: # else часть цикла print num, ‘это простое число’ break
Когда приведённый выше код выполнится, он даст следующий результат:
10 равно 2 * 5 11 это простое число 12 равно 2 * 6 13 это простое число 14 равно 2 * 7 15 равно 3 * 5 16 равно 2 * 8 17 это простое число 18 равно 2 * 9 19 это простое число
Оглавление
- 1. Python – Самоучитель для начинающих
- 2. Python – Обзор
- 3. Python – Установка среды
- 4. Python – Базовый синтаксис
- 4.1. Python – Аргументы командной строки
- 5. Python – Типы переменных
- 6. Python – Основные операторы
- 6.1. Python – Арифметические операторы
- 6.2. Python – Операторы сравнения
- 6.3. Python – Операторы присваивания: примеры
- 6.4. Python – Побитовые операторы
- 6.5. Python – Логические операторы
- 6.6. Python – Операторы членства
- 6.7. Python – Операторы идентификации
- 6.8. Python – Приоритет операторов
- 7. Python – Условные операторы
- 7.1. Python – Условие if
- 7.2. Python – Условные операторы if. else и elif
- 7.3. Python – Вложенные операторы if
- 8. Python – Циклы
- 8.1. Python – Цикл while
- 8.2. Python – Цикл for
- 8.3. Python – Вложенные циклы
- 8.4. Python – Оператор break
- 8.5. Python – Оператор continue
- 8.6. Python – Оператор pass
- 9. Python – Числа
- 9.1. Python – Метод abs()
- 9.2. Python – Метод ceil()
- 9.3. Python – Метод cmp()
- 9.4. Python – Метод exp()
- 9.5. Python – Метод fabs()
- 9.6. Python – Метод floor()
- 9.7. Python – Метод log()
- 9.8. Python – Метод log10()
- 9.9. Python – Метод max()
- 9.10. Python – Метод min()
- 9.11. Python – Метод modf()
- 9.12. Python – Метод pow()
- 9.13. Python – Метод round()
- 9.14. Python – Метод sqrt()
- 9.15. Python – Метод choice()
- 9.16. Python – Метод randrange()
- 9.17. Python – Метод random()
- 9.18. Python – Метод seed()
- 9.19. Python – Метод shuffle()
- 9.20. Python – Метод uniform()
- 9.21. Python – Метод acos()
- 9.22. Python – Метод asin()
- 9.23. Python – Метод atan()
- 9.24. Python – Метод atan2()
- 9.25. Python – Метод cos()
- 9.26. Python – Метод hypot()
- 9.27. Python – Метод sin()
- 9.28. Python – Метод tan()
- 9.29. Python – Метод degrees()
- 9.30. Python – Метод radians()
Источник: proglang.su