6 травня о 18:00Вебінар: Література: секрети організації ефективних підсумкових уроків вивчення творчості письменника

Презентація "Зведення числа в степінь на Python"

Про матеріал
У презентації розберемо процес зведення в степінь в Python. Коли автор був студентом, його викладач з програмування любив повторювати: "У математиці все ідеї прості". Зазвичай, фраза звучала в момент пояснення нової теми, а тому викликала певні внутрішні протиріччя. Зі зведенням до степені все не так - це дійсно проста операція. В математиці зведення в степінь - це операція, при якій число множиться саме на себе кілька разів. Python надає вбудовані оператори та функції для виконання зведення в степінь.
Перегляд файлу
Зведення числа в степінь на Python. Навчання заради успіху. Мова програмування PYTHON Вчитель інформатики В. Д. Партіка
Оператор ** для піднесення до степеня. В Python оператор піднесення до степеня позначається двома символами зірочки ** між основою і показником степеня.print(5**6)print((-7)**4)print(100**0)print(9**-4)print((-3)**-3)print(0.5**10)print(0.4**0.6)>>> %Run 1.py15625240110.00015241579027587258-0.0370370370370370350.00097656250.5770799623628855>>>
Оператор pow()або math.power() для піднесення до степеня. Також підносити до степеня в Python можна за допомогою функції pow()або модуля math, в якому є своя реалізація цього ж модуля: math.power()import mathprint(pow(-8, 7))print(math.pow(-8, 7))print(pow(2, 1.5))print(math.pow(2, 1.5))print(pow(4, 3))print(math.pow(4,3))print(pow(2.0, 5))print(math.pow(2.0, 5))
>>> %Run 1.py-2097152-2097152.02.82842712474619032.82842712474619036464.032.032.0>>> Вивід: Відмінність лише в тому, що math.pow()завжди повертає значення числа з плаваючою крапкою, навіть якщо передати цілі числа. А ось pow() поверне число з плаваючою крапкою, якщо таким же був хоча б один з аргументів.
Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = 2**9999999print('** за', time.process_time() - start, 'ms')>>> %Run 1.py** за 0.1875 ms
Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = pow(2, 9999999)print('pow() за', time.process_time() - start, 'ms')>>> %Run 1.pypow() за 0.203125 ms
Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = math.pow(2, 9999999)print('math.pow()за',time.process_time()-start, 'ms')'ms')>>> %Run 1.py. Traceback (most recent call last): File val = math.pow(2, 9999999)Overflow. Error: math range error>>> " title="Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = math.pow(2, 9999999)print('math.pow()за',time.process_time()-start, 'ms')'ms')>>> %Run 1.py. Traceback (most recent call last): File "F:\системні папки\Робочий стіл\1.py", line 6, in val = math.pow(2, 9999999)Overflow. Error: math range error>>> ">
В першу чергу можна звернути увагу на те, що math.pow()повернула помилку Overflow. Error. Це означає, що функція не підтримує великі значення степеня. Відмінності між іншими досить прості.
Задача 1. Піднесення чисел до степеня до заданої межі. Вивести степені натуральних чисел, що не перевершують даного числа n. Користувач задає показник ступеня і число n.p = int(input(
Нуль в степені нуль. Дискусії з приводу значення 0 в степені 0 тривають вже більше двох століть. Зазвичай значення нуля в нульовому степені прийнято вважати невизначеним, але символічна угода про те, що >> %Run 1.py11>>>" title="Нуль в степені нуль. Дискусії з приводу значення 0 в степені 0 тривають вже більше двох століть. Зазвичай значення нуля в нульовому степені прийнято вважати невизначеним, але символічна угода про те, що "0 в степені 0 дорівнює 1" допомагає в записі формул і алгоритмів. Саме тому так зроблено і в Python:print(pow(0, 0))print(0 ** 0)>>> %Run 1.py11>>>">
Задача2. Як звести в степінь кожну цифру натурального числа?Суть у наступному: потрібна функція, яка зводить в квадрат цифри натурального числа, кожну по черзі.def square_digits(number): out = '' for i in str(number): out += str(int(i)**2) return int(out)n = int(input(
def square_digits_v1(n): return int(''.join(str(int(x) ** 2) for x in str(n)))n = int(input())print(square_digits_v1(n))def square_digits_v2(n): print(*[int(x) ** 2 for x in str(n)], sep='')n = int(input())print(square_digits_v2(n))>>> %Run 1.py76849 36 64>>> >>> %Run 1.py2344916>>> Інші варіанти цього коду:
Задача 3. >> %Run 22.py372187.0>>> " title="Задача 3. "Піднесення до степеня"Дано дійсне додатне число 𝒂 і ціле невід'ємне число 𝒏. Обчисліть 𝒂𝒏 не використовуючи цикли, зведення в степінь через ** і функцію math.pow(), а використовуючи рекурентне співвідношення 𝒂𝒏=𝒂∙𝒂𝒏−𝟏. Рішення оформіть у вигляді функції power(a, n). def power(a, n): if n == 0: return 1 else: return a * power(a, n - 1)print(power(float(input()), int(input())))>>> %Run 22.py372187.0>>> ">
Варіант для дійсних чисел:>>> %Run 22.pya=4.2n=5.81306.9123200000001>>> def power(a, n): if n == 0: return 1 res = power(a * a, n // 2) if n % 2: res *= a return resa = float(input(
mahalaschool.com.ua. ДЯКУЮ ЗА УВАГУ!Python - це маленький початок великих справ.
Зміст слайдів
Номер слайду 1

Зведення числа в степінь на Python. Навчання заради успіху. Мова програмування PYTHON Вчитель інформатики В. Д. Партіка

Номер слайду 2

Оператор ** для піднесення до степеня. В Python оператор піднесення до степеня позначається двома символами зірочки ** між основою і показником степеня.print(5**6)print((-7)**4)print(100**0)print(9**-4)print((-3)**-3)print(0.5**10)print(0.4**0.6)>>> %Run 1.py15625240110.00015241579027587258-0.0370370370370370350.00097656250.5770799623628855>>>

Номер слайду 3

Оператор pow()або math.power() для піднесення до степеня. Також підносити до степеня в Python можна за допомогою функції pow()або модуля math, в якому є своя реалізація цього ж модуля: math.power()import mathprint(pow(-8, 7))print(math.pow(-8, 7))print(pow(2, 1.5))print(math.pow(2, 1.5))print(pow(4, 3))print(math.pow(4,3))print(pow(2.0, 5))print(math.pow(2.0, 5))

Номер слайду 4

>>> %Run 1.py-2097152-2097152.02.82842712474619032.82842712474619036464.032.032.0>>> Вивід: Відмінність лише в тому, що math.pow()завжди повертає значення числа з плаваючою крапкою, навіть якщо передати цілі числа. А ось pow() поверне число з плаваючою крапкою, якщо таким же був хоча б один з аргументів.

Номер слайду 5

Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = 2**9999999print('** за', time.process_time() - start, 'ms')>>> %Run 1.py** за 0.1875 ms

Номер слайду 6

Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = pow(2, 9999999)print('pow() за', time.process_time() - start, 'ms')>>> %Run 1.pypow() за 0.203125 ms

Номер слайду 7

Порівняння часу роботи різних рішень. Тепер порівняємо, скільки займає виконання кожної з функцій pow(), math.pow() і оператора **. Для цього використовуємо модуль timeit.import mathimport timestart = time.process_time()val = math.pow(2, 9999999)print('math.pow()за',time.process_time()-start, 'ms')'ms')>>> %Run 1.py. Traceback (most recent call last): File "F:\системні папки\Робочий стіл\1.py", line 6, in val = math.pow(2, 9999999)Overflow. Error: math range error>>>

Номер слайду 8

В першу чергу можна звернути увагу на те, що math.pow()повернула помилку Overflow. Error. Це означає, що функція не підтримує великі значення степеня. Відмінності між іншими досить прості.

Номер слайду 9

Задача 1. Піднесення чисел до степеня до заданої межі. Вивести степені натуральних чисел, що не перевершують даного числа n. Користувач задає показник ступеня і число n.p = int(input("Показник степеня: "))n = int(input("Межа: "))i = 1while i ** p <= n: print(i ** p, end=' ') i += 1print("\n Останнє число," " піднесене в степінь:", i - 1)%Run 1.py. Показник степеня: 3 Межа: 2001 8 27 64 125 Останнє число, піднесене в степінь: 5

Номер слайду 10

Нуль в степені нуль. Дискусії з приводу значення 0 в степені 0 тривають вже більше двох століть. Зазвичай значення нуля в нульовому степені прийнято вважати невизначеним, але символічна угода про те, що "0 в степені 0 дорівнює 1" допомагає в записі формул і алгоритмів. Саме тому так зроблено і в Python:print(pow(0, 0))print(0 ** 0)>>> %Run 1.py11>>>

Номер слайду 11

Задача2. Як звести в степінь кожну цифру натурального числа?Суть у наступному: потрібна функція, яка зводить в квадрат цифри натурального числа, кожну по черзі.def square_digits(number): out = '' for i in str(number): out += str(int(i)**2) return int(out)n = int(input("n="))print(square_digits(n))>>> %Run 1.pyn=123149>>> %Run 1.pyn=678364964

Номер слайду 12

def square_digits_v1(n): return int(''.join(str(int(x) ** 2) for x in str(n)))n = int(input())print(square_digits_v1(n))def square_digits_v2(n): print(*[int(x) ** 2 for x in str(n)], sep='')n = int(input())print(square_digits_v2(n))>>> %Run 1.py76849 36 64>>> >>> %Run 1.py2344916>>> Інші варіанти цього коду:

Номер слайду 13

Задача 3. "Піднесення до степеня"Дано дійсне додатне число 𝒂 і ціле невід'ємне число 𝒏. Обчисліть 𝒂𝒏 не використовуючи цикли, зведення в степінь через ** і функцію math.pow(), а використовуючи рекурентне співвідношення 𝒂𝒏=𝒂∙𝒂𝒏−𝟏. Рішення оформіть у вигляді функції power(a, n). def power(a, n): if n == 0: return 1 else: return a * power(a, n - 1)print(power(float(input()), int(input())))>>> %Run 22.py372187.0>>>

Номер слайду 14

Варіант для дійсних чисел:>>> %Run 22.pya=4.2n=5.81306.9123200000001>>> def power(a, n): if n == 0: return 1 res = power(a * a, n // 2) if n % 2: res *= a return resa = float(input("a="))n = float(input("n="))print(power(a, n))

Номер слайду 15

mahalaschool.com.ua. ДЯКУЮ ЗА УВАГУ!Python - це маленький початок великих справ.

pptx
Додано
21 березня
Переглядів
69
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку