‼️Хочу немного добавить к вышесказанному👆🏿
Итак, мантисса определяет точность числа. Это основная часть числа, содержащая значащие цифры.
Экспонента (или порядок) определяет величину числа, указывая, на сколько нужно сдвинуть запятую в мантиссе для получения полного числа. Вот вам число 2.997925 · 10^8 = 299 792 500, экспонента здесь 8, и я уже объяснил, почему (потому что 8 сдвигов было). Жирным выделена мантисса (2.997925), а курсивом экспонента (8). ‼️Число = Мантисса × 2 ** Экспонента ‼️- это формула представления числа с плавающей точкой, это мы с вами уже обсуждали.
Допустим, мы хотим умножить два числа с плавающей точкой: Мантиссы обоих чисел перемножаются, что даёт новую мантиссу - это первое, Порядки (экспоненты) складываются - это второе. Щас мем смешной скину и пойду спать, а у нас впереди тема массивов и связанных списков... #Мантисса
Итак, мантисса определяет точность числа. Это основная часть числа, содержащая значащие цифры.
Экспонента (или порядок) определяет величину числа, указывая, на сколько нужно сдвинуть запятую в мантиссе для получения полного числа. Вот вам число 2.997925 · 10^8 = 299 792 500, экспонента здесь 8, и я уже объяснил, почему (потому что 8 сдвигов было). Жирным выделена мантисса (2.997925), а курсивом экспонента (8). ‼️Число = Мантисса × 2 ** Экспонента ‼️- это формула представления числа с плавающей точкой, это мы с вами уже обсуждали.
Допустим, мы хотим умножить два числа с плавающей точкой: Мантиссы обоих чисел перемножаются, что даёт новую мантиссу - это первое, Порядки (экспоненты) складываются - это второе. Щас мем смешной скину и пойду спать, а у нас впереди тема массивов и связанных списков... #Мантисса
👨💻2
✅ Следующее задание #Дробная_часть, как раз тут нам поясняют проблему с числами типа float ,❗️ там чел оставил ссылку почитать, я вам ее прикреплю, но прям сильно другое там не написано, вчера я достаточно нормально все изъяснил.
Сейчас решим задачку и я вам расскажу как можно избежать проблем с расчетом таких чисел
‼️https://docs-python.ru/tutorial/operatsii-chislami-python/problemy-chisel-plavajuschej-zapjatoj/#float-error‼️
Сейчас решим задачку и я вам расскажу как можно избежать проблем с расчетом таких чисел
‼️https://docs-python.ru/tutorial/operatsii-chislami-python/problemy-chisel-plavajuschej-zapjatoj/#float-error‼️
👨💻2
CodeLab
👨💻 Иииитак, вчера я ничего не делал, щас буду рассказывать про хранение памяти в компьютере, как раз это свяжем с проблемой чисел с плавающей точкой, поэтому постарайтесь все внимательно прочитать‼️ ⭕️ Для хранения одной ячейки информации в памяти используется…
🧑💻Я вас, наверное, уже за❌бал с этими вещественными числами, но, мы не коснулись чисел формата ❗️двойной точности.
Я уже говорил, что это формат, с котором доступно 64 бита, на знак выделяется ‼️1 бит, экспоненту - 11 битов (для вещественных чисел двойной точности используется смещение на 1023, что означает, что экспонента от 0 до 2047 кодируется числами от -1023 до 1024, для чисел формата одинарной точности сдвиг всего на 127,но это так). На мантиссу приходится 52 бита.‼️
🔗Я вам уже объяснял, как вещественные числа преобразуются в двоичный код, можете почитать, я прикреплю. ⭕️Разница в том, что к мантиссе прибавляем не число 127, а число 1023. Если число 6.25, это 110.01, опять же происходит два сдвига, потому что по формуле у нас в целой части должна быть единица, поэтому получается число 1.1001 * 10 ** 2, экспонента тут - 2, к ней прибавляем сдвиг 1023 и получаем 1025. По итогу, 1 это знак, 10000000001 это экспонента, 1011000... это мантисса
UPD: Рекомендую читать с самого начала !
Я уже говорил, что это формат, с котором доступно 64 бита, на знак выделяется ‼️1 бит, экспоненту - 11 битов (для вещественных чисел двойной точности используется смещение на 1023, что означает, что экспонента от 0 до 2047 кодируется числами от -1023 до 1024, для чисел формата одинарной точности сдвиг всего на 127,но это так). На мантиссу приходится 52 бита.‼️
🔗Я вам уже объяснял, как вещественные числа преобразуются в двоичный код, можете почитать, я прикреплю. ⭕️Разница в том, что к мантиссе прибавляем не число 127, а число 1023. Если число 6.25, это 110.01, опять же происходит два сдвига, потому что по формуле у нас в целой части должна быть единица, поэтому получается число 1.1001 * 10 ** 2, экспонента тут - 2, к ней прибавляем сдвиг 1023 и получаем 1025. По итогу, 1 это знак, 10000000001 это экспонента, 1011000... это мантисса
UPD: Рекомендую читать с самого начала !
👨💻2
🔗Я бы хотел вам пояснить за модули, которые помогли бы решить неточность вычислений, но оставим это на момент, когда столкнемся конкретно с изучением библиотек, чтобы сейчас не пересказывать обширную тему в двух словах.
⭕️ Поэтому, расскажу вам просто функцию round(number, digits). ❗️Первый аргумент это дробное число, а во втором (digits) указываем количество чисел после запятой. Второй аргумент по умолчанию равен нулю❗️. #Библиотеки
🔗Код:
⭕️ Поэтому, расскажу вам просто функцию round(number, digits). ❗️Первый аргумент это дробное число, а во втором (digits) указываем количество чисел после запятой. Второй аргумент по умолчанию равен нулю❗️. #Библиотеки
🔗Код:
a = round(7.2157, 3)
print(a) #Вывод:7.216
👨💻1
CodeLab
✅ Следующее задание #Дробная_часть, как раз тут нам поясняют проблему с числами типа float ,❗️ там чел оставил ссылку почитать, я вам ее прикреплю, но прям сильно другое там не написано, вчера я достаточно нормально все изъяснил. Сейчас решим задачку и я…
🔗Разберем еще одно решение с коментов.
0️⃣ Итак, для начала вводим строку (в нашем случае, допустим, 122.3676). Мы уже разбирали метод split(), он разбивает нашу строку, в нашем случае на 2 части, где разделителем будет точка " . ". Результатом на данном этапе будет ["122", "3676"].
1️⃣ Ну и видим, что в начале добавляется " 0. ", по итогу, получаем на выходе 0.3676.
⭕️ Кстати, дробную часть числа (3676) мы выбрали из за индекса [1], индексация у нас начинается с 0 как никак, поэтому выбираем 'вторую часть' разбитой строки. #split #float #Дробная_часть
🔗Код:
0️⃣ Итак, для начала вводим строку (в нашем случае, допустим, 122.3676). Мы уже разбирали метод split(), он разбивает нашу строку, в нашем случае на 2 части, где разделителем будет точка " . ". Результатом на данном этапе будет ["122", "3676"].
1️⃣ Ну и видим, что в начале добавляется " 0. ", по итогу, получаем на выходе 0.3676.
⭕️ Кстати, дробную часть числа (3676) мы выбрали из за индекса [1], индексация у нас начинается с 0 как никак, поэтому выбираем 'вторую часть' разбитой строки. #split #float #Дробная_часть
🔗Код:
a = '0.' + input().split('.')[1]
print(float(a))Итак, задание #Наибольшее_и_наименьшее, тут разберемся min() и max(). Аргументов у этих функций может быть любое количество, главное, чтобы они все поддерживали между собой операцию сравнения, типо мы не можем сравнивать строку с вещественным числом) Решение ниже 👇🏿
✅Функции min() и max() просто сравнивают считанные целые числа и код выводит наименьшее и наибольшее число. #Наибольшее_и_наименьшее
🔗Готовый код:
🔗Готовый код:
a = int(input())
b = int(input())
c = int(input())
d = int(input())
e = int(input())
print(str("Наименьшее число ="), min(a,b,c,d,e))
print(str("Наибольшее число ="), max(a,b,c,d,e))
#Сортировка_трех. Подаются три числа, нам нужно вывести об большего к меньшему, давайте думать
✅Итак, чтобы вывести максимальное и минимальное число проблем нет, мы уже изучили функции max() и min(). ‼️Чтобы вывести среднее, нам нужно сложить все три числа и вычесть максимальное и минимальное, как раз получаем среднее число. #Сортировка_трех #max #min
🔗Готовый код:
🔗Готовый код:
a, b, c = int(input()), int(input()), int(input())
print(max(a, b, c), a + b + c - min(a, b, c) - max(a, b, c), min(a, b, c), sep = '\n' )
✅Python: "Поколение Python": курс для начинающих. Ссылки на другие посты смотрите ниже, Базовые знания в отдельном посте, но многие темы разобраны по заданиям ниже.👇🏿
Задания не с курса:
🔗 Сумма чисел
‼️Целочисленная арифметика:
Сама Неотвратимость 2.5
Номер купе 2.5
‼️Задача из бесплатного курса Яндекс:
Шарики и ручки
‼️Условный оператор:
🔗Выбор из двух
Пароль 4.1
Четное или нечетное 4.1
Соотношение 4.1
Наименьшее из 4 чисел 4.1
Только Плюсы 4.1
🔗Логические операции
Принадлежность 3 (4.2)
Красивое число 4.2
Високосный год 4.2
Ход ладьи 4.2
Ход короля 4.2🌶
🔗Вложенные и каскадные условия
Вид треугольника 4.3
Серединное число 4.3
Количество дней 4.3
Самописный калькулятор 4.3
Пересечение отрезков 4.3🌶🌶
🔗Итоговая работа
Начало столетия 5.1
Шахматная доска 5.1
Шахматная доска 5.1 (обновленный)
Римские цифры 5.1
Ход слона 5.1 🌶
Ход коня 5.1
Ход ферзя 5.1
🔗Числовые типы данных: int, float
Две старушки 6.1
Обратное число 6.1
451 градус по Фаренгейту 6.1
Dog age 6.1
Первая цифра после точки 6.1
Сортировка трех 6.1
Наибольшее и наименьшее 6.1
Дробная часть 6.1
Дробная часть 6.1 (Еще одно решение)
Интересное число 6.1
Абсолютная сумма 6.1
Манхэттенское расстояние 6.1
🔗Строковый тип данных:
Тройные кавычки 6.2
Футбольная команда 6.2
Три города 6.2
Арифметические строки 6.2
Корректный email 6.2
🔗 Модуль math:
Евклидово расстояние 6.3
Площадь и длина 6.3
Средние значения 6.3
Тригонометрическое выражение 6.3
Пол и потолок 6.3
Квадратное уравнение 🌶🌶 (Второй способ)
Правильный многоугольник
🔗 Циклы for и while:
🧑💻Введение
Python is awesome (7.1)
Повторяй за мной 1 (7.1)
Последовательность символов (7.1)
Звездный прямоугольник (7.1)
Повторяй за мной 2 (7.1)
Квадрат числа (7.1)
Звездный треугольник 7.1
Звездный треугольник 7.1 (обновленный)
Популяция 7.1
🔗 Цикл for: (функция range):
Последовательность чисел 1 (7.2)
Последовательность чисел 2 (7.2) 🌶
Последовательность чисел 3 (7.2) 🌶 (Еще одно решение) 🌶 (И еще одно решение)
Последовательность чисел 4 (7.2)
Таблица умножения (7.2)
https://stepik.org/course/58852/syllabus — КУРС, КОТОРЫЙ МЫ ПРОХОДИМ
‼️🔗 Python: "Поколение Python": курс для начинающих (часть 2). — Курс с остальными заданиями 🧑💻
Задания не с курса:
🔗 Сумма чисел
‼️Целочисленная арифметика:
Сама Неотвратимость 2.5
Номер купе 2.5
‼️Задача из бесплатного курса Яндекс:
Шарики и ручки
‼️Условный оператор:
🔗Выбор из двух
Пароль 4.1
Четное или нечетное 4.1
Соотношение 4.1
Наименьшее из 4 чисел 4.1
Только Плюсы 4.1
🔗Логические операции
Принадлежность 3 (4.2)
Красивое число 4.2
Високосный год 4.2
Ход ладьи 4.2
Ход короля 4.2🌶
🔗Вложенные и каскадные условия
Вид треугольника 4.3
Серединное число 4.3
Количество дней 4.3
Самописный калькулятор 4.3
Пересечение отрезков 4.3🌶🌶
🔗Итоговая работа
Начало столетия 5.1
Шахматная доска 5.1
Шахматная доска 5.1 (обновленный)
Римские цифры 5.1
Ход слона 5.1 🌶
Ход коня 5.1
Ход ферзя 5.1
🔗Числовые типы данных: int, float
Две старушки 6.1
Обратное число 6.1
451 градус по Фаренгейту 6.1
Dog age 6.1
Первая цифра после точки 6.1
Сортировка трех 6.1
Наибольшее и наименьшее 6.1
Дробная часть 6.1
Дробная часть 6.1 (Еще одно решение)
Интересное число 6.1
Абсолютная сумма 6.1
Манхэттенское расстояние 6.1
🔗Строковый тип данных:
Тройные кавычки 6.2
Футбольная команда 6.2
Три города 6.2
Арифметические строки 6.2
Корректный email 6.2
🔗 Модуль math:
Евклидово расстояние 6.3
Площадь и длина 6.3
Средние значения 6.3
Тригонометрическое выражение 6.3
Пол и потолок 6.3
Квадратное уравнение 🌶🌶 (Второй способ)
Правильный многоугольник
🔗 Циклы for и while:
🧑💻Введение
Python is awesome (7.1)
Повторяй за мной 1 (7.1)
Последовательность символов (7.1)
Звездный прямоугольник (7.1)
Повторяй за мной 2 (7.1)
Квадрат числа (7.1)
Звездный треугольник 7.1
Звездный треугольник 7.1 (обновленный)
Популяция 7.1
🔗 Цикл for: (функция range):
Последовательность чисел 1 (7.2)
Последовательность чисел 2 (7.2) 🌶
Последовательность чисел 3 (7.2) 🌶 (Еще одно решение) 🌶 (И еще одно решение)
Последовательность чисел 4 (7.2)
Таблица умножения (7.2)
https://stepik.org/course/58852/syllabus — КУРС, КОТОРЫЙ МЫ ПРОХОДИМ
‼️🔗 Python: "Поколение Python": курс для начинающих (часть 2). — Курс с остальными заданиями 🧑💻
✅Задание #Интересное_число (6.1). Итак, разница максимальной и минимальной ровнялась средней по величине цифре, давайте делать 👨💻
‼️Кароч, нам же подается число, значит его нужно разбить на цифры, чтобы их сравнивать.
0️⃣Допустим, подается число 123: первым действием целочисленным делением находим первую цифру;
1️⃣цифру посередине находим сначала целочисленным делением на 10, получаем12 , а затем это ебанное 12 делим по модулю на 10 и получаем 2 .
2️⃣Ну и третье число, просто делим по модулю на 10, получаем3 . Не ебу зачем я это вам расписывал, но будете знать зато. Теперь вводим доп переменные x_max для нахождения максимальной цифры и аналогично с x_min. Еще мы ввели переменную s_average для нахождения серединной цифры, мы уже с вами разбирали как это находить, просто из суммы всех цифр вычитаем макс и мин. Ну и в самом конце вводим условие и задача решена. #Интересное_число
🔗Готовый код:
0️⃣Допустим, подается число 123: первым действием целочисленным делением находим первую цифру;
1️⃣цифру посередине находим сначала целочисленным делением на 10, получаем
2️⃣Ну и третье число, просто делим по модулю на 10, получаем
🔗Готовый код:
num = int(input())
a = num // 100
b = num // 10 % 10
c = num % 10
x_max = max(a,b,c)
x_min = min(a,b,c)
x_average = ((a+b+c) - max(a,b,c) - min(a,b,c))
if x_max - x_min == x_average:
print("Число интересное")
else:
print("Число неинтересное")
❤🔥1