Занятие 1. Знакомство с Python. Ввод-вывод

Скачать среду разработки Thonny можно по ссылке

Преимущества Python

  1. Это интерпретируемый язык программирования:
    • он не требует отдельного этапа компиляции;
    • программа на языке Python запускается прямо из исходного кода;
  2. Это высокоуровневый язык программирования;
  3. Это платформонезависимый язык:
    • программы на Python можно создавать на разных операционных системах (Linux, Windows, OS X);
    • программы на Python можно запускать на разных операционных системах (Linux, Windows, OS X);
  4. Это open source проект;
  5. Это простой язык;
  6. Это встраиваемый скриптовый язык;
  7. Это динамический язык, что упрощает написание несложных программ;
  8. Для Python существует огромная библиотека классов на любой вкус.

Недостатки Python

  1. Низкая скорость выполнения по сравнению с такими языками, как C и C++;
  2. Динамическая типизация языка — минус при написании сложных программ.

Задачи, решаемые с помощью Python

Python подходит для решения широкого спектра задач. Разобьем их на категории:

  1. Системное программирование. Встроенные в  Python интерфейсы доступа к службам операционных систем делают его идеальным инструментом для создания переносимых программ и утилит системного администрирования;
  2. Графические приложения. Простота Python и быстрота разработки делают его отличным средством создания графического интерфейса. В состав Python входит стандартный объектно-ориентированный интерфейс к GUI API;
  3. Веб-приложения. С помощью дополнительных фреймворков на языке Python (Django, Flask, Pyramid) можно создавать полнофункциональные сайты;
  4. Веб-сценарии. Python поставляется вместе со стандартными интернет-модулями, которые позволяют программам выполнять разнообразные сетевые операции как в режиме клиента, так и в режиме сервера;
  5. Интеграция компонентов. Возможность Python расширяться и встраиваться в системы на языке C++ делает его удобным для описания поведения других систем и компонентов;
  6. Приложения баз данных. В Python имеются интерфейсы доступа ко всем основным реляционным базам данных: Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite и многим другим. С их помощью можно создавать приложения баз данных.

Проекты, в которых используется Python

  1. Компания Google использует Python в своей поисковой системе;
  2. Компании Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения;
  3. Сервис YouTube в значительной степени реализован на Python;
  4. Агентство национальной безопасности (NSA) использует Python для шифрования и анализа данных;
  5. Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка;
  6. Программа BitTorrent для обмена файлами в пиринговых сетях написана на языке Python;
  7. NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.


Вывод данных, команда print

Для вывода данных на экран используется команда print().

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

Например, следующий код:

print('Мы изучаем язык Python')

выведет на экран текст:

Мы изучаем язык Python

Запомни: кавычки могут быть и одинарными, и двойными. Следующие две строки делают одно и то же.

print('Python')
print("Python")

То, что мы пишем в круглых скобках у команды print(), называется аргументами команды.

При этом команда print() позволяет указывать несколько аргументов, в таком случае их надо отделять запятыми. Если вы не будете писать запятые между аргументами, Python воспримет это как синтаксическую ошибку.

Например, следующий код:

print('Скоро я', 'буду программировать', 'на языке', 'Python!')

выведет на экран текст (под  мы понимаем символ пробела):

Скоро я⎵буду программировать⎵на языке⎵Python!

Обратите внимание, в качестве разделителя при выводе данных между аргументами команды используется символ пробел. По умолчанию команда print() добавляет ровно один пробел между всеми своими аргументами. Например, следующая программа:

print('1', '2', '4', '8', '16')

выводит числа 1 2 4 8 16. Числа выведены ровно через один пробел.

Запомни: при написании кода между аргументами команды print() после запятой мы ставим один символ пробел. Это общепринятое соглашение в языке Python. Этот символ пробела не влияет на вывод данных. Это просто для читабельности кода.

Примечания

Примечание 1. Команда print() записывается только маленькими буквами, другое написание недопустимо, так как в Python строчные и заглавные буквы различны.

Примечание 2. Каждая последующая команда print() выводит указанный текст с новой строки. Например, следующая программа:

print('Какой хороший день!')
print('Работать мне не лень!')

выведет на экран две строки:

Какой хороший день! 
Работать мне не лень!

Примечание 3. Команда print() с пустым списком аргументов просто вставляет новую пустую строку. Например:

print('Какой хороший день!')
print()
print('Работать мне не лень!')

выведет на экран три строки, одна из которых пустая:

Какой хороший день!

Работать мне не лень!

Примечание 4. Почему в Python можно использовать как одинарные, так и двойные кавычки для обрамления текста? Ответ очень прост — часто кавычки являются частью текста. И чтобы Python мог правильно распознать такой текст, пользуемся разными:

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

Результатом выполнения кода:

print('В тексте есть "двойные" кавычки')
print("В тексте есть 'одинарные' кавычки")

будет: 

В тексте есть "двойные" кавычки
В тексте есть 'одинарные' кавычки

Ввод данных, команда input

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

Для считывания данных в языке Python используется команда input().

Рассмотрим следующую программу:

print('Как тебя зовут?')  # вывод текста

name = input()  # ввод текста и запись в переменную

print('Привет,', name)  # вывод текста

Сначала программа распечатает текст на экран «Как тебя зовут?». Далее программа будет ждать от пользователя ввода данных. Ввод данных реализуется с помощью команды input(). И в конце произойдет вывод текста вместе с введенными от пользователя данными.

Команда input() всегда пишется с круглыми скобками. Она работает так: когда программа доходит до места, где есть input(), она ждет, пока пользователь введёт текст с клавиатуры (ввод завершается нажатием клавиши Enter). Введенная строка подставляется на место input().

Если вы ввели строку «Parrot», программа дальше будет работать так, как будто на месте input() было написано 'Parrot'.

Таким образом, input() получает от пользователя какие-то данные и вместо вызова подставляет строковое значение, в нашем случае записывает его в качестве значения переменной name.

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

name, age, team, string, string_1, string_2, string_777

Запоминаем:

Команда print() выводит данные на экран.

Команда input() считывает данные, введенные с клавиатуры.

Примечания

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

print('Как тебя зовут?')
name = input()
print('Привет,', name)

Мы сначала выведем текст «Как тебя зовут?», а уже потом считаем данные.

Поскольку это достаточно распространённый сценарий, то в языке Python можно выводить текст, передавая его в качестве параметра в команду input(). Предыдущий код можно переписать так:

# сначала тут печатается строка 'Как тебя зовут', а потом принимается на вход имя
name = input('Как тебя зовут?')

# тут просто выводится строка 'Привет', после нее идет пробел и введенное нами имя
print('Привет,', name)

То есть команда input() при наличии аргументов внутри нее отрабатывает одновременно как вывод текста, а потом ввод текста (именно в этом порядке). Однако в задачах нашего курса нужно использовать команду input() без параметров! Так как это будет лишний вывод, ваша программа не будет проходить тесты.

Примечание 2. Имейте в виду, что мы можем принимать сразу несколько строк, а потом со всеми ними работать.

name = input()
age = input()

print('Я', name, 'и мне', age, 'лет.')

Например, если на вход будут поданы строки:

Антон
21

то программа выведет следующее:

Я Антон и мне 21 лет.

Задания по теме

Задание 1. Напишите программу, чтобы каждое число последовательности 4 8 15 16 23 42 печаталось на отдельной строке.

Примечание. Каждая последующая команда print() выводит указанный текст, начиная с новой строки.

Пример вывода:
4
8
15
16
23
42

Задание 2. Напишите программу, которая выводит указанный треугольник, состоящий из звездочек (*).

Пример вывода:
*
**
***
****
*****
******
*******

Задание 3. Напишите программу, которая читает введенную строку текста через с клавиатуры. Далее программа должна выводить на экран приветствие в виде слова «Привет» (без кавычек), после которого должна стоять запятая и пробел, а затем – введенное имя.

Пример ввода:

Тимур

Пример вывода:

Привет, Тимур

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

Пример ввода:
I love
Python
so much

Пример вывода:
I love
Python
so much

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

Пример ввода:
Hello
it's
me

Пример вывода:
me
it's
Hello

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

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