Как сложить два числа в python
Перейти к содержимому

Как сложить два числа в python

  • автор:

Python. Урок 2: переменные и данные

Самые распространенные данные с которыми мы сталкиваемся при написании программ — это строки и числа.

Целые числа (integer) – положительные, отрицательные целые числа и 0. Например, 4, 663, -27, 0.

  • Числа с плавающей точкой (float) – дробные числа. Например, 1.5, -6.32136, 0.05321.
    Важно: разделителем целой и дробной части служит точка, а не запятая.
  • Строки (string) — набор символов, заключенных в кавычки (например, «cat», «Hello, 世界!», ‘qwerty’, ‘3388’). Примечание: кавычки в Python могут быть одинарными или двойными.

Операции

Операция — это выполнение действий над данными (операндами) с использованием операторов.
Сложение двух чисел — операция:

>>> 2.5 + 3.8 6.3

Одни и те же операции с разными типами данных могут работать по-разному. Например сложение двух строк (конкатенация):

>>> "This is " + " a cat." "This is a cat."

При умножении одного числа на другое мы получаем их произведение:

>>> 5 * 5 25

При умножении строки на число эта строка повторяется N раз:

>>> "Meow, " * 4 "Meow, Meow, Meow, Meow, "

Список доступных операций над числами

# сложение >>> 10 + 20 30 # вычитание >>> 35 - 20 15 # умножение >>> 5 * 7 35 # деление >>> 35 / 7 5.0 # целочисленное деление >>> 5 // 2 2 # остаток целочисленного деления >>> 5 % 2 1 # возведение в степень >>> 5 ** 2 25

Преобразование типов

Для разных типов данных схожие операции могут работать по-разному, но самое главное — тип данных результата может измениться после выполнения.

Например, при сложении двух целых чисел результат будет целым числом. Если же попробовать сложить целое число с дробным (числом с плавающей точкой), то результат будет преобразован в число с плавающей точкой. При попытке сложить строку с числом интерпретатор Python’а выдаст ошибку.

# складываем два целых числа, int + int = int >>> 13 + 14 27 # складываем два числа, одно - int, другое - float, # результат - float >> 2 + 3.423 5.423 # пытаемся сложить строку (str) и целое число (int), # результат - ошибка >>> "cat " + 4 TypeError: Can't convert 'int' object to str implicitly

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

# функция int() преобразует строку в целое число >>> int("21") 21 # функция float() преобразует строку в число с плавающей точкой >>> float("2.3154") 2.3154 # функция str() преобразует переданный ей # аргумент (например число) в строку >>> str(20961) "20961" # Если функция не может привести данные к нужному типу, # то возникает ошибка # Например при попытке перевести символы в число >>> int("batman") ValueError: invalid literal for int() with base 10: 'batman' >>>

Переменные

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

>>> 13 + 14 27

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

# сохраним слагаемые в переменные a и b >>> a = 13 >>> b = 14 # посчитаем сумму a + b и запишем ее в переменную c >>> c = a + b # выведем значение переменной c >>> print(c) 27
Правила именования переменных
  • Переменные должны иметь осознанное имя, чтобы в будущем было легко понять какие данные в них находятся.
    Например если мы сохраняем имя пользователя в переменную, то логичнее всего назвать ее user_name или просто name
  • Имя переменной должно начинаться с буквы или символа подчеркивания _
  • Имя переменной не должно совпадать с командами языка, например нельзя называть переменные print, float, int и т.п.

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Сложение двух чисел

#1 Май 26, 2020 00:16:00

GoshkaLP Зарегистрирован: 2016-09-29 Сообщения: 19 Репутация: 0 Профиль Отправить e-mail

Сложение двух чисел

Добрый день!
Задача такова: даны два неотрицательных целых числа и в каждом может быть до 1000 знаков.
Попробовал сгенерировать два рандомных числа по 1001 знаку каждый и сложить их встроенным сложением, вроде все работает.
Нужно ли в такой задаче писать алгоритм сложения длинных чисел (знаю, что на C++ точно пришлось бы писать такое) или достаточно воспользоваться обычным сложением Python?

#2 Май 26, 2020 05:57:48

py.user.next От: Зарегистрирован: 2010-04-29 Сообщения: 9698 Репутация: 842 Профиль Отправить e-mail

Сложение двух чисел

Во втором питоне было ещё деление на целые числа и длинные целые числа (был тип long)
Во втором питоне

>>> int type 'int'> >>> long type 'long'> >>> >>> 1L 1L >>> 

В третьем питоне оставили только long и удалили разделение.
В третьем питоне

>>> int class 'int'> >>> long Traceback (most recent call last): File "", line 1, in module> NameError: name 'long' is not defined >>> >>> 1L File "", line 1 1L ^ SyntaxError: invalid syntax >>> 

GoshkaLP
Нужно ли в такой задаче писать алгоритм сложения длинных чисел

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

Вот пример в awk

[guest@localhost ~]$ echo "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222" | awk '< print $1 + $2 >'
3333333333333332738786672957290036516299633913475458249124829501869439173452657107303061593549438976
[guest@localhost ~]$

Как следует из примера, awk не может сложить стозначное число из единиц со стозначным числом из двоек (должно получиться стозначное число из троек). Но если у нас программа уже на awk написана и туда надо добавить сложение таких чисел, потому что они вдруг начали приходить в программу? Можно написать функцию в awk, которая сделает сложение в длинных числах.

Пример с усечённой функцией
(функция работает только для небольшого числа входных чисел)

[guest@localhost ~]$ echo "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222" | awk '
>
> < print f($1, $2) >
>
> function f(a, b, arr1, arr2, out) > for (i = 1; i <= length(a); i++) > arr1[i] = substr(a, i, 1)
> >
> for (i = 1; i <= length(b); i++) > arr2[i] = substr(b, i, 1)
> >
> for (i = 1; i <= length(a); i++) > out = out arr1[i] + arr2[i]
> >
> return out
> >
>
> '
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
[guest@localhost ~]$

[guest@localhost ~]$ echo «1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222» | awk ‘

Отредактировано py.user.next (Май 26, 2020 06:05:24)

Работа с числами в Python

В этом материале рассмотрим работу с числами в Python. Установите последнюю версию этого языка программирования и используйте IDE для работы с кодом, например, Visual Studio Code.

В Python достаточно просто работать с числами, ведь сам язык является простым и одновременно мощным. Он поддерживает всего три числовых типа:

  • int (целые числа)
  • float (числа с плавающей точкой)
  • complex (комплексные числа)

Хотя int и float присутствуют в большинстве других языков программирования, наличие типа комплексных чисел — уникальная особенность Python. Теперь рассмотрим в деталях каждый из типов.

Целые и числа с плавающей точкой в Python

В программирование целые числа — это те, что лишены плавающей точкой, например, 1, 10, -1, 0 и так далее. Числа с плавающей точкой — это, например, 1.0, 6.1 и так далее.

Создание int и float чисел

Для создания целого числа нужно присвоить соответствующее значение переменной. Возьмем в качестве примера следующий код:

var1 = 25

Здесь мы присваиваем значение 25 переменной var1 . Важно не использовать одинарные или двойные кавычки при создании чисел, поскольку они отвечают за представление строк. Рассмотрим следующий код.

 
var1 = "25"
# или
var1 = '25'

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

var1 = 0.001

Здесь также не стоит использовать кавычки.

Проверить тип данных переменной можно с помощью встроенной функции type() . Можете проверить результат выполнения, скопировав этот код в свою IDE.

 
var1 = 1 # создание int
var2 = 1.10 # создание float
var3 = "1.10" # создание строки
print(type(var1))
print(type(var2))
print(type(var3))

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

 
# создание 1,000,000
var1 = 1,000,000 # неправильно

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

 
# создание 1,000,000
var1 = 1_000_000 # правильно
print(var1)

Значение выведем с помощью функции print :

1000000

Арифметические операции над целыми и числами с плавающей точкой

Используем такие арифметические операции, как сложение и вычитание, на числах. Для запуска этого кода откройте оболочку Python, введите python или python3 . Терминал должен выглядеть следующим образом:

Python IDLE

Сложение

В Python сложение выполняется с помощью оператора + . В терминале Python выполните следующее.

Результатом будет сумма двух чисел, которая выведется в терминале.

Работа с числами в Python

Теперь запустим такой код.

>>> 1.0 + 2 3.0

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

Вычитание

В Python для операции вычитания используется оператор -. Рассмотрим примеры.

>>> 3 - 1 2 >>> 1 - 5 -4 >>> 3.0 - 4.0 -1.0 >>> 3 - 1.0 2.0

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

Умножение

Для умножения в Python применяется оператор * .

>>> 8 * 2 16 >>> 8.0 * 2 16.0 >>> 8.0 * 2.0 16.0

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

Деление

В Python деление выполняется с помощью оператора / .

>>> 3 / 1 3.0 >>> 4 / 2 2.0 >>> 3 / 2 1.5

В отличие от трех предыдущих операций при делении результатом всегда будет число с плавающей точкой. Также нужно помнить о том, что на 0 делить нельзя, иначе Python вернет ошибку ZeroDivisionError . Вот пример такого поведения.

>>> 1 / 0 Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero
Деление без остатка

При обычном делении с использованием оператора / результатом будет точное число с плавающей точкой. Но иногда достаточно получить лишь целую часть операции. Для этого есть операции интегрального деления. Стоит рассмотреть ее на примере.

>>> 2 // 1 2 >>> 4 // 3 1 >>> 5 // 2 2

Результатом такой операции становится частное. Остаток же можно получить с помощью модуля, о котором речь пойдет дальше.

Остаток от деления

Для получения остатка деления двух чисел используется оператор деления по модулю % .

>>> 5 % 2 1 >>> 4 % 2 0 >>> 3 % 2 1 >>> 5 % 3 2

На этих примерах видно, как это работает.

Возведение в степень

Число можно возвести в степень с помощью оператора ** .

>>> 3**2 9 >>> 2**4 16 >>> 3**3 27

Комплексные числа

Комплексные числа — это числа, которые включают мнимую часть. Python поддерживает их «из коробки». Их можно запросто создавать и использовать. Пример:

Python. Урок 4. Арифметические операции

Follow us on Google Plus Follow us on rss

Язык Python, благодаря наличию огромного количества библиотек для решения разного рода вычислительных задач, сегодня является конкурентом таким пакетам как Matlab и Octave. Запущенный в интерактивном режиме, он, фактически, превращается в мощный калькулятор. В этом уроке речь пойдет об арифметических операциях, доступных в данном языке.

Арифметические операции будем изучать применительно к числам, причем работу с комплексными числами разберем отдельно. Также, кратко остановимся на битовых операциях, представлении чисел в разных системах исчисления и коснемся библиотеки math.

Как было сказано в предыдущем уроке, посвященном типами и модели данных Python, в этом языке существует три встроенных числовых типа данных:

  • целые числа (int);
  • вещественные числа (float);
  • комплексные числа (complex).

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

Арифметические операции с целыми и вещественными числами

Все эксперименты будем производить в Python, запущенном в интерактивном режиме.

Складывать можно непосредственно сами числа…

>>> 3+2 5 

либо переменные, но они должны предварительно быть проинициализированы.

>>> a = 3 >>> b = 2 >>> a + b 5 

Результат операции сложения можно присвоить другой переменной…

>>> a = 3 >>> b = 2 >>> c = a + b >>> print(c) 5 

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

>>> a = 3 >>> b = 2 >>> a = a + b >>> print(a) 5 
>>> a = 3 >>> b = 2 >>> a += b >>> print(a) 5 

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

>>> 4-2 2 >>> a = 5 >>> b = 7 >>> a - b -2 
>>> 5 * 8 40 >>> a = 4 >>> a *= 10 >>> print(a) 40 
>>> 9 / 3 3.0 >>> a = 7 >>> b = 4 >>> a / b 1.75

Получение целой части от деления.

>>> 9 // 3 3 >>> a = 7 >>> b = 4 >>> a // b 1 

Получение остатка от деления.

>>> 9 % 5 4 >>> a = 7 >>> b = 4 >>> a % b 3 

Возведение в степень.

>>> 5 ** 4 625 >>> a = 4 >>> b = 3 >>> a ** b 64

Работа с комплексными числами

Для создания комплексного числа можно использовать функцию complex(a, b), в которую, в качестве первого аргумента, передается действительная часть, в качестве второго – мнимая. Либо записать число в виде a + bj.

Рассмотрим несколько примеров.

Создание комплексного числа.

>>> z = 1 + 2j >>> print(z) (1+2j) >>> x = complex(3, 2) >>> print(x) (3+2j)

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

>>> x + z (4+4j) >>> x - z (2+0j) >>> x * z (-1+8j) >>> x / z (1.4-0.8j) >>> x ** z (-1.1122722036363393-0.012635185355335208j) >>> x ** 3 (-9+46j)

У комплексного числа можно извлечь действительную и мнимую части.

>>> x = 3 + 2j >>> x.real 3.0 >>> x.imag 2.0 

Для получения комплексносопряженного число необходимо использовать метод conjugate().

>>> x.conjugate() (3-2j)

Битовые операции

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

>>> p = 9 >>> q = 3 >>> p & q 1 
>>> p | q 11 

Побитовое Исключающее ИЛИ (XOR).

>>> p ^ q 10 
>>> ~p -10 

Сдвиг вправо и влево.

>>> p  1 18 >>> p >> 1 4 

Представление чисел в других системах счисления

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

Представление числа в шестнадцатеричной системе

>>> m = 124504 >>> hex(m) '0x1e658' 

Представление числа в восьмеричной системе

>>> oct(m) '0o363130' 

Представление числа в двоичной системе

>>> bin(m) '0b11110011001011000' 

Библиотека (модуль) math

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

Для работы с данным модулем его предварительно нужно импортировать.

>>> import math

Рассмотрим наиболее часто используемые функции.

math.ceil(x)

Возвращает ближайшее целое число большее, чем x.

>>> math.ceil(3.2) 4 

math.fabs(x)

Возвращает абсолютное значение числа.

>>> math.fabs(-7) 7.0 

math.factorial(x)

Вычисляет факториал x.

>>> math.factorial(5) 120 

math.floor(x)

Возвращает ближайшее целое число меньшее, чем x.

>>> math.floor(3.2) 3 

math.exp(x)

>>> math.exp(3) 20.085536923187668

math.log2(x)

Логарифм по основанию 2.

math.log10(x)

Логарифм по основанию 10.

math.log(x[, base])

По умолчанию вычисляет логарифм по основанию e, дополнительно можно указать основание логарифма.

>>> math.log2(8) 3.0 >>> math.log10(1000) 3.0 >>> math.log(5) 1.6094379124341003 >>> math.log(4, 8) 0.6666666666666667

math.pow(x, y)

Вычисляет значение x в степени y.

>>> math.pow(3, 4) 81.0 

math.sqrt(x)

Корень квадратный от x.

>>> math.sqrt(25) 5.0 

Тригонометрические функции, их мы оставим без примера.

math.cos(x)

math.sin(x)

math.tan(x)

math.acos(x)

math.asin(x)

math.atan(x)

И напоследок пару констант.

math.pi

math.e

Помимо перечисленных, модуль math содержит ещё много различных функций, за более подробной информацией можете обратиться на официальный сайт.

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

>>

Раздел: Python Уроки по Python Метки: Python, Уроки Python

Python. Урок 4. Арифметические операции : 1 комментарий

  1. Анна 15.07.2023 Можно пояснение по операции Инверсия? p присвоено было значение 9, после выполнения инверсии над p его результат стал -10. Ответ верный здесь? Или это ошибка?

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

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