Рубрики
Без рубрики

Краткое руководство Python, часть 1: от нуля калькулятор

Это направлено на людей, которые не знают программирования и хотели бы забрать его. В Ver … Tagged с новичками, Python, CodeNewie, учебником.

Это направлено на людей, которые не знают программирования и хотели бы забрать его. В Версия на моем собственном сайте , Он использует решения Click To-Show для упражнений, которые я не могу сделать здесь, поэтому решения опущены.

Я знаю, я знаю, в интернете есть бесконечное число учебных пособий Python (и на всем остальном в этом отношении), но я не нашел ни одного, я думаю, действительно хорошо, поэтому я делаю это. Моя цель – сделать учебник как Перевариваемый , краткий и точный как я могу. (Большинство других, я видел, я не люблю, потому что они дрон о сложных вещах в ранних главах и учат в бессмысленном порядке.) Проект, на который мы стремимся к этой первой записи, будет текстовым калькулятором на основе текста.

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

Установка переводчика Python

Независимо от вашей операционной системы, на самом деле есть хороший шанс Python предупрежден, но если нет, легко получить:

Если вы находитесь в Windows: Вы можете Скачать его из Python.org (Вы, вероятно, хотите «исполняемый файл X8644»). Установщик должен включать в себя что-то, называемое «Интегрированную разработку и обучающую среду»), что удобно (по сравнению с Windows File Explorer) способом доступа к приглашению Python и выполняет файлы. Вы можете запустить IDLE из меню Windows.

Если вы на любой системе UNIX: Используйте диспетчер пакетов вашего распространения для установки его при необходимости. Чтобы использовать его, откройте терминал и запустите python Чтобы запустить файл с именем Имя файла или просто Python Для интерактивного режима. (Команда может быть просто называться Python ; это может быть называется Python3 , Python3.8 или любая версия, так Если Python не работает, попробуйте это.)

Что с этой «подсказкой»?

На большинстве языков, чтобы написать программу, вы должны сохранить исходный код в файл, а затем выполнить файл. Но Python также имеет интерактивный режим, где вы можете вводить инструкции один за другим и увидеть их выполненные, как вы вводите их. Это называется интерактивной подсказкой, оболочкой Python или REPL (LOOP READ-SELECTION-PRINT). Пожалуйста, следуйте с этим на данный момент, начиная с простоя или соответствующую команду Python.

Когда вы начинаете, вы, вероятно, увидите сообщение о версии Python и вещей, а затем в строке, начиная с >>> Отказ >>> означает, что вы ждут вас ввести код. Результат каждого типа команды отображается на следующей строке без >>> Отказ >>> называется подсказкой (смущенно, что слово относится к этому символу, так и в интерактивном режиме в целом).

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

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

Сначала позвольте мне продемонстрировать использование калькулятора:

>>> 5 + 2
7
>>> 7 / 5
1.4
>>> 11 * (3 - 1)
22

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

Переменная похожа на имя, которое вы можете установить, чтобы означать все, что вы хотите. Номер назначает значение 5 На название Номер Отказ Далее, мы могли бы включить Номер В наших расчетах, и это будет иметь это значение:

>>> number = 5
>>> number + 2
7
>>> number
5

Обратите внимание, что подсказка Python не распечатает результат, когда вы просто назначаете переменную. Вы можете увидеть значение переменной, введя ее на линию сама по себе, поскольку Python считывает оно так же, как если бы вы только что ввели его значение. Также обратите внимание, что Номер + 2 не изменил ценность Номер ; Это только что напечатало значение плюс 2. Номер + 2 изменил бы ценность Номер Отказ

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

Это позволяет нам делать немного более интересные вещи:

>>> x = 12
>>> y = 2
>>> z = x + y
>>> z / y
7.0

Теперь давайте сделаем перерыв от математики. Есть лишь пара других предпосылок для нашей цели сделать калькулятор.

Прежде всего, если вы сохраняете вышеуказанные линии кода (минус >>> Подскажите, очевидно) в файл и запустить его, вы заметите, что результат никогда не отображается, даже если он работает в подсказке Отказ В приглашении Python автоматически отображает результат выражения, но не при его сохраненной программе. Чтобы сделать вывод программы, вам нужен Печать Функция:

x = 12
y = 2
z = x + y
print(z / y)

Скобки после Печать важны – они говорят Python, что за Печать относится к, и он не будет работать без них.

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

Печать Можно напечатать что-нибудь, а не только номера, так что теперь мы собираемся говорить о Строки еще один очень важный тип данных. «Строка» означает строку текста. Строка Литералы (в отличие от переменной, которая содержит строку), всегда должна быть заключена в кавычки, так что Python знает, чтобы интерпретировать их как буквальный текст вместо имени переменной или чего-либо. Цитаты не являются частью строки, хотя:

>>> print("hello")
hello

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

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

Сообщения об ошибках чтения

Если вы не очень точный типистку, чем я, есть хороший шанс, что вы уже видели сообщение об ошибке, и он выглядел как беспорядок. Если у вас нет, попробуйте ввести строку, как благ И вы должны увидеть что-то вроде этого:

>>> blah
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'blah' is not defined

На данный момент не беспокойтесь о линии Traceback (последний звонок последним): – Мы не будем попадаться в то, что это значит до гораздо позже в этой серии. Вторая строка показывает вам имя файла, чтобы сохранена ваша программа, или Если бы вы были только в подсказке (он означает «стандартный ввод», а я объяснить концепцию в моем учебном направлении Unix, но здесь не важно); номер строки, который вызвал ошибку (или 1, если вы в подсказке); и в <модуль> Часть – это еще одна вещь, которую вам не нужно беспокоиться, пока гораздо позже, когда мы начнем работать с модулями.

Самая важная строка – последний, который показывает, какова фактическая проблема. Вот некоторые из самых распространенных видов ошибок:

  • SyntaxError означает, что ваш код был убит, а Python не знал, чтобы разбирать его. Вы получите это, если вы забудете закрывающую цитату на строке, попробуйте использовать функцию без скобок или написать нененичную линию, такую как A = Отказ Синтаксисные ошибки – единственный вид, который будет пойман, как только вы попытаетесь запустить программу, поскольку с другими видами ошибок, Python не будет знать, что есть проблема, пока она не дойдет в строку, так что вы увидите Программа выполняется до этой точки, а затем сбой. (В результате ошибки синтаксиса не показывают « Traceback (последний вызов Last): ” Line.)

  • NameError Конечно, это то, что вы получаете, когда вы используете переменную, вы не определяли. Наиболее распространенной причиной этого является опечатка (опять же, если вы не точнее, чем у меня, чем я).

  • Типеррр это то, что вы получаете за то, что делаете что-то вроде 5 + 'A' Отказ

Побег

Следующий логический вопрос о строках должен быть (если вы уже начали думать об этом, то вы получите файлы cookie): если в кавычках входит в кавычки, как мы говорим Python, где строка начинается и заканчивается, как мы ставим литеральные цитаты в строку? Печать («Это») Работает, потому что APOSTROPHE – это единственная цитата, и эта строка прилагается двойными кавычками, но если вам нужно распечатать строку, которая имеет оба типа цитаты в них, это не так просто. Печать («Я сказал:« Это нормально ».«) будет смотреть на Python, как строка, которую вы хотите распечатать " Я сказал: « И почему-то вы поставили все в порядке." « после этого. Вы получите синтаксисную ошибку.

Если вы хотите поставить литеральные кавычки внутри строки, которые являются такими же родами, как те, которые оставляют строку, вам нужно «избежать» их, положив обратную косание перед каждым: Печать («Я сказал:« Это хорошо. «) или Печать (« Я сказал, \ "Это нормально. \" ") Буду печатать Я сказал: «Все в порядке». . Защита внутри струны – Специальный сигнал для обработки следующего персонажа буквально или наоборот, если это персонаж, который обычно буквальный Отказ Чтобы включить буквальную люфту, вы можете написать \\ – Первый говорит Питону относительно второго буквально.

+ и * на струнах

+ и * Операторы также работают на строках. Проверь это:

>>> 'hello' + 'friend'
'hellofriend'
>>> 'hello' * 3
'hellohellohello'

(Обратите внимание, что они не разделены пробелами. Возможно, вы уже заметили, но пробелы, которые я печатал всему, ненужно; Пробелы внутри кода, как правило, игнорируются. Они просто там, чтобы облегчить чтение. Если вы хотите космичевать вывод, поместите пространство внутри одного из строковых литералов, как «Привет» + «Друг» .)

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

>>> 'hello'
'hello'
>>> print('hello')
hello

Яргон: ConcateNate : добавлять последовательности вместе. Использование + На струнах «объединяются» укусы. Использование + на цифрах есть не Согласие, потому что это дает вам всего числа, а не номера, не застрявшие. (Это различие начнет иметь больше смысла, когда мы попадаем в последовательности частично 3.)

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

<Решение опущено>

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

Побегающие последовательности

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

Существует несколько нормальных букв, которые, если сбежали внутри строки, возьмите особое значение, а не наоборот, как цитаты. Наиболее распространенным примером является n Отказ \ n Внутри строковых стендов для «Newline»:

>>> print('line 1\nline 2')
line 1
line 2

Печать Также необходимо интерпретировать эвакуацию последовательности. Если вы просто введите 'line 1 \ nline 2' Строка снова будет показана, как вы должны набрать его, чтобы получить это значение.

Еще одна общая побегающая последовательность – \ T Для вкладки:

>>> print('one word\tanother')
one word    another

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

вход является основной функцией для получения ввода текста от пользователя. Просто делаю вход () Сам по себе будет подождать, пока пользователь вводит что-то в чем-то (остановка, когда они нажимают Enter). После этого вы можете думать о вход () Как будто это получает заменил тем, что в набранном пользователю, так что вы можете использовать его как буквальное значение:

print(input())

Эта однострочная программа будет ждать, пока пользователь что-то вводит, а затем повторите его обратно к ним. Если типы пользователей «Hello», это как эта линия становится Печать («Hello») . Вы также можете хранить вход в переменной, как A () Тогда сделайте что-нибудь еще, и погисите его обратно с Печать (а) позже.

Вы также можете дать вход Строковое значение для использования в качестве подсказки:

text = input("give me some text: ")
print("here's the text you gave me: " + text)

(Обратите внимание, что вход не выводится новой строкой после его подсказки, которую Print делает. Если вы сделали Распечатать («Дайте мне текст:») а потом вход () пользователь будет набрать на строке ниже «Дайте мне текст».)

Так что с этим сделано, мы можем использовать вход Чтобы получить цифры для нашего интерактивного калькулятора?

>>> num = input("give me a number: ")
give me a number: 5
>>> num
'5'
>>> num * 2
'55'

Хм … Есть одна проблема с использованием вход Сделать калькулятор: это дает нам строку, поэтому, когда я пытался умножить его, подумал, что я пытался умножить текст ‘5’.

5 и '5' являются Очень разные – это число, а другая строка. Это вроде как Разница между числом и цифрой Отказ Это где int Функция приходит: она преобразует строку в int (целое число).

>>> num = int('5')
>>> num
5
>>> num * 2
10

(Функция str также существует, чтобы включить число в строку. Вам не нужно это для Печать Однако, потому что Печать уже печатает строковое представление его параметра.)

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

<Решение опущено>

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

Более интересное упражнение: Как вы делаете один операционный калькулятор в одной строке и без использования каких-либо переменных?

<Решение опущено>

Стоит только один аппендикс, который стоит принять к этой первой главе:

Плавает

Возможно, вы заметили, что программа калькулятора не принимает десятичные данные, только целые числа. Это потому, что мы использовали int Функция – int Преобразует строку в целое число, и если она не может, он вызывает ошибку. (Интересно, int Can Конвертировать десятичный вклад: int (3.5) дает 3 , но он не может преобразовать строку '3.5' к Целое число.) A ” номер с плавающей запятой ” или “float” – это термин программиста для десятичного числа, а функция для преобразования в них является плавать . Продолжайте и попробуйте изменить программу калькулятора, чтобы принять поплавковый вход.

(Если вы играете с поплавками, вы также можете столкнуться с странной неточнойцией, такой как 0,1 + 0,2 Добавление до 0.3000000000000000004 . Это не вина Python; Это связано с присущими следствием того, как ваше оборудование хранит десятичные значения в памяти. Там хорошее объяснение здесь С Но это не важно, если вы не любопытно.)

Оригинал: “https://dev.to/yujiri8/the-concise-python-tutorial-prat-1-from-zero-to-calculator-1gh5”