Одной из уникальных и забавных особенностей Python является возможность использования ключевого слова
else вместе с циклами for и while. В других языках программирования такое использование ключевого слова else встречается крайне редко или вовсе отсутствует.В Python блок
else в цикле выполняется, когда цикл завершается "естественным образом", то есть без использования ключевого слова break. Это может быть полезно для того, чтобы отличить завершение цикла по естественной причине от завершения из-за прерывания.Пример:
# Пример использования else с циклом for
for i in range(5):
if i == 3:
print("Нашли 3, выходим из цикла")
break
else:
print("Цикл завершился без прерывания")
# Пример использования else с циклом while
n = 0
while n < 5:
if n == 3:
print("Нашли 3, выходим из цикла")
break
n += 1
else:
print("Цикл завершился без прерывания")
В первом примере цикл
for прерывается, когда i становится равным 3, поэтому блок else не выполняется. Во втором примере аналогично, цикл while прерывается при n == 3, и блок else также не выполняется.Если бы в обоих случаях условие прерывания не было выполнено, блоки
else были бы выполнены, что позволяет легко проверить, завершился ли цикл по естественной причине или был прерван.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как на счет забацать свой валдберист, потягивая кофеек и смотря на закат?
Недавно начал разбираться с библиотекой flet. Эта библиотека позволяет делать симпатичный интерфейс, причем адаптированный для web. А также компилируется одинаково для любой системы. Поскольку ничего полезного делать я не умею, я решил сделать онлайн магазин. Базовый с минимумом функий. Оказалось это очень просто.
👩💻 Исходный код доступен по 👉🏻 ссылке 👈🏻
Для того, чтобы собрать это в *.exe используем функцию на windows
В магазине есть главная страница с товарами (стакан, стол, корова), страница товара с возможностью выбрать количество и добавить товар в корзину, корзина с возможностью изменять количество товаров и оплачивать покупку, а также личный кабинет с аватаром и балансом пользователя. Все страницы и элементы интерфейса создаются и обновляются динамически при взаимодействии пользователя с кнопками и другими элементами управления. Реализуется все благодаря внутренним функция flet, причем они не такие уж и сложные.
Если интересна эта библиотека, пишите в комментарии, а также можете посоветовать мне что-то, в чем тоже стоит покопаться.
Основные функции кода:
Недавно начал разбираться с библиотекой flet. Эта библиотека позволяет делать симпатичный интерфейс, причем адаптированный для web. А также компилируется одинаково для любой системы. Поскольку ничего полезного делать я не умею, я решил сделать онлайн магазин. Базовый с минимумом функий. Оказалось это очень просто.
Для того, чтобы собрать это в *.exe используем функцию на windows
pyinstaller --onefile --windowed .\wb.py
В магазине есть главная страница с товарами (стакан, стол, корова), страница товара с возможностью выбрать количество и добавить товар в корзину, корзина с возможностью изменять количество товаров и оплачивать покупку, а также личный кабинет с аватаром и балансом пользователя. Все страницы и элементы интерфейса создаются и обновляются динамически при взаимодействии пользователя с кнопками и другими элементами управления. Реализуется все благодаря внутренним функция flet, причем они не такие уж и сложные.
Если интересна эта библиотека, пишите в комментарии, а также можете посоветовать мне что-то, в чем тоже стоит покопаться.
Основные функции кода:
main(page): Инициализирует приложение, устанавливает заголовок и размеры окна, определяет баланс пользователя и корзину, и вызывает главную страницу.update_page(view): Очищает текущие элементы управления на странице, добавляет новый вид и обновляет страницу.home_page(e=None): Создает и отображает главную страницу с товарами, кнопками навигации и их обработчиками событий.product_page(e, product): Создает и отображает страницу товара с возможностью выбрать количество, добавить товар в корзину и вернуться на главную страницу.cart_page(e=None): Создает и отображает корзину с товарами, их количеством, общей стоимостью и кнопкой для оплаты, а также кнопками навигации.account_page(e=None): Создает и отображает личный кабинет с аватаром пользователя, балансом и кнопками навигации.Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
Задача о поиске всех простых чисел до заданного числа n 👩💻
Как пример влияния оптимизации кода на время решения.
Пример неоптимизированного кода для нахождения всех простых чисел до n с использованием простого перебора делителей:
Теперь улучшим этот код, используя алгоритм "Решето Эратосфена":
В оптимизированном коде используется алгоритм "Решето Эратосфена", который значительно эффективнее простого перебора делителей.
1. Создаем список булевых значений
2. Начинаем с первого простого числа 2 и отмечаем все его кратные как составные (непростые).
3. Переходим к следующему неотмеченному числу и повторяем процесс.
4. Повторяем процесс до тех пор, пока квадрат текущего числа p меньше или равен n.
5. Возвращаем все числа, которые остались отмеченными как простые.
Этот алгоритм имеет временную сложность (O(n log n)), что значительно быстрее по сравнению с временной сложностью (O(n)) для простого перебора делителей.
Как пример влияния оптимизации кода на время решения.
Пример неоптимизированного кода для нахождения всех простых чисел до n с использованием простого перебора делителей:
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def find_primes(n):
primes = []
for i in range(2, n + 1):
if is_prime(i):
primes.append(i)
return primes
n = 100
print(find_primes(n))
Теперь улучшим этот код, используя алгоритм "Решето Эратосфена":
def sieve_of_eratosthenes(n):
is_prime = [True] * (n + 1)
p = 2
while p ** 2 <= n:
if is_prime[p]:
for i in range(p * p, n + 1, p):
is_prime[i] = False
p += 1
primes = [p for p in range(2, n + 1) if is_prime[p]]
return primes
n = 100
print(sieve_of_eratosthenes(n))
В оптимизированном коде используется алгоритм "Решето Эратосфена", который значительно эффективнее простого перебора делителей.
1. Создаем список булевых значений
is_prime, где is_prime[i] указывает, является ли число i простым.2. Начинаем с первого простого числа 2 и отмечаем все его кратные как составные (непростые).
3. Переходим к следующему неотмеченному числу и повторяем процесс.
4. Повторяем процесс до тех пор, пока квадрат текущего числа p меньше или равен n.
5. Возвращаем все числа, которые остались отмеченными как простые.
Этот алгоритм имеет временную сложность (O(n log n)), что значительно быстрее по сравнению с временной сложностью (O(n)) для простого перебора делителей.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥1
FireFox самый быстрый браузер на сегодняшний день, если врубить эти настройки . Я сам сначала не поверил, что это настолько помогает. 💄 Теперь только с него и сижу. 10 из 10. Они уменьшают дилей на ответ с сервера, увеличивают количество запросов единовременно. А еще отключает телеметрию и покет.
В поисковой строке пишете about:support > Папка профиля > pref.js. Закрываете Firefox, в конец файла pref.js вставляете этот код,сохраняете.
//Ускоряем загрузку страниц
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 30);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("nglayout.initialpaint.delay_in_oopif", 0);
// Отключаем Pocket
user_pref("extensions.pocket.api", "");
user_pref("extensions.pocket.enabled", false);
user_pref("extensions.pocket.site", "");
user_pref("extensions.pocket.oAuthConsumerKey", "");
//Отключаем анимацию открытия видео на фуллскин и подсказку "нажмите esc.."
user_pref("full-screen-api.transition-duration.enter", "0");
user_pref("full-screen-api.transition-duration.leave", "0");
user_pref("full-screen-api.warning.timeout", 0);
//Просим сайты не отслеживать Вас
user_pref("privacy.trackingprotection.enabled", true);
user_pref("privacy.donottrackheader.enabled", true);
//Отключаем телеметрию и отправку отчетов
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.cachedClientID", "");
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.hybridContent.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.previousBuildID", "");
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
user_pref("toolkit.telemetry.server", "");
user_pref("toolkit.telemetry.server_owner", "");
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("datareporting.healthreport.infoURL", "");
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.policy.firstRunURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
user_pref("browser.tabs.crashReporting.email", false);
user_pref("browser.tabs.crashReporting.emailMe", false);
user_pref("breakpad.reportURL", "");
user_pref("security.ssl.errorReporting.automatic", false);
user_pref("toolkit.crashreporter.infoURL", "");
user_pref("network.allow-experiments", false);
user_pref("dom.ipc.plugins.reportCrashURL", false);
user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
//Тонкие вкладки и поисковая строка
user_pref("browser.uidensity", 1);
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1😱1
Игра Виселица на Python 👩💻
Сегодня вечером мне было нечего делать и я решил снова покорять геймдев.👨💻 С flet я не разобрался и пришлось делать все на PyQT. В общем моя новинка игропрома: Виселица. Эта классическая игра теперь может стать отличным примером для тех, кто хочет практиковать свои навыки программирования и работы с GUI на Python.
В чем задумка:
В игре компьютер случайным образом выбирает слово из двух списков: один содержит слова на английском языке, другой - на русском. Пользователь должен угадать буквы слова, вводя их с помощью кнопок на экране. Количество оставшихся попыток отображается на экране, и игрок видит, какие буквы он уже пробовал.
Реализацию я видел так:
1. Выбор слова: При запуске игры случайным образом выбирается слово из списка английских или русских слов. В зависимости от выбранного слова, на экране будут отображаться соответствующие кнопки с буквами (латинские или кириллические).
2. В окне игры есть несколько элементов:
Область для рисования виселицы и человечка.
Поле для отображения угаданного слова.
Поле с количеством оставшихся попыток.
Поле, которое показывает, на каком языке загадано слово.
Поле для отображения использованных букв.
3. Пользователь нажимает на кнопки с буквами, пытаясь угадать слово. Если буква присутствует в слове, она отображается в соответствующих позициях. Если нет - количество попыток уменьшается, и на рисунке появляется новая часть виселицы или человечка.
Ну а дальше по классике, угадал — молодец, а нет... Ну сам понимаешь😊
Попробуйте реализовать этот проект самостоятельно! Отличная тренировка.
А если хотите поиграть, вот➡️ ссылка ⬅️ на код
@debugblog
Сегодня вечером мне было нечего делать и я решил снова покорять геймдев.
В чем задумка:
В игре компьютер случайным образом выбирает слово из двух списков: один содержит слова на английском языке, другой - на русском. Пользователь должен угадать буквы слова, вводя их с помощью кнопок на экране. Количество оставшихся попыток отображается на экране, и игрок видит, какие буквы он уже пробовал.
Реализацию я видел так:
1. Выбор слова: При запуске игры случайным образом выбирается слово из списка английских или русских слов. В зависимости от выбранного слова, на экране будут отображаться соответствующие кнопки с буквами (латинские или кириллические).
2. В окне игры есть несколько элементов:
Область для рисования виселицы и человечка.
Поле для отображения угаданного слова.
Поле с количеством оставшихся попыток.
Поле, которое показывает, на каком языке загадано слово.
Поле для отображения использованных букв.
3. Пользователь нажимает на кнопки с буквами, пытаясь угадать слово. Если буква присутствует в слове, она отображается в соответствующих позициях. Если нет - количество попыток уменьшается, и на рисунке появляется новая часть виселицы или человечка.
Ну а дальше по классике, угадал — молодец, а нет... Ну сам понимаешь
Попробуйте реализовать этот проект самостоятельно! Отличная тренировка.
А если хотите поиграть, вот
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
Микрообзоры браузеров - 1
Brave👩💻
Бытует ой какое ошибочное мнение, что этот браузер как-то помогает анонимности и весь такой конфиденциальный. В целом я не то, чтобы верю в анонимность браузеров на сегодняшний день, но это мое право. А этот браузер буквально построил свою рекламу на этом. На первый взгляд, браузер обещает многое: защиту конфиденциальности, быструю работу и встроенные блокировщики рекламы. Однако, мой опыт использования Brave оказался не таким радужным, и я не могу рекомендовать этот браузер.
Brave использует собственную криптовалюту BAT для вознаграждения пользователей за просмотр рекламы. Это выглядит как попытка заставить пользователей бустить их коин и не получать по факту никакой выгоды. Несмотря на заявления о блокировке рекламы, Brave активно продвигает собственные рекламные объявления через систему BAT. Чем-то напоминает яндекс браузер.
В итоге, мой опыт использования Brave Browser оказался разочаровывающим. Хотя браузер обещает много, его реализация оставляет желать лучшего. Будем искать идеал дальше.
@debugblog
Brave
Бытует ой какое ошибочное мнение, что этот браузер как-то помогает анонимности и весь такой конфиденциальный. В целом я не то, чтобы верю в анонимность браузеров на сегодняшний день, но это мое право. А этот браузер буквально построил свою рекламу на этом. На первый взгляд, браузер обещает многое: защиту конфиденциальности, быструю работу и встроенные блокировщики рекламы. Однако, мой опыт использования Brave оказался не таким радужным, и я не могу рекомендовать этот браузер.
В 2020 году Brave был уличен в автоматическом добавлении партнерских ссылок при посещении некоторых криптовалютных бирж. Это вызвало волну негодования среди пользователей. Хотя компания извинилась и устранила эту практику, сам факт такого поведения ставит под сомнение их приверженность к защите конфиденциальности пользователей.
Brave использует собственную криптовалюту BAT для вознаграждения пользователей за просмотр рекламы. Это выглядит как попытка заставить пользователей бустить их коин и не получать по факту никакой выгоды. Несмотря на заявления о блокировке рекламы, Brave активно продвигает собственные рекламные объявления через систему BAT. Чем-то напоминает яндекс браузер.
В итоге, мой опыт использования Brave Browser оказался разочаровывающим. Хотя браузер обещает много, его реализация оставляет желать лучшего. Будем искать идеал дальше.
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
Начал делать приложение для помощи в обучении. Пока только для информатики, потому что для других предметов не придумал. Задача простая у него: преподавателем загружается задание в виде кода с ответом. Далее ученик сверяет свой ответ и свой код (по желанию). Поскольку ответ и код решения преподавателя зашифрованы, подглядеть не получится (на самом деле получится, если хитрый и понимаешь принцип работы)
❤3🔥2👍1
1. Использование встроенной функции `max`:
max_element = max(array)
Это самый простой и быстрый способ, поскольку
max оптимизирован и написан на C.2. Использование цикла `for`:
max_element = array[0]
for element in array:
if element > max_element:
max_element = element
Это более явный способ, но он менее эффективен, чем встроенные функции.
3. Использование функции `reduce` из модуля `functools`:
from functools import reduce
max_element = reduce(lambda x, y: x if x > y else y, array)
Этот способ также менее эффективен, чем встроенная функция
max, но может быть полезен в определенных контекстах.4. Использование библиотеки `numpy`:
import numpy as np
max_element = np.max(array)
Если массив является объектом
numpy, этот метод будет очень быстрым благодаря оптимизациям библиотеки.5. Использование многопоточности:
Для огромных массивов можно разбить задачу на части и выполнить поиск максимума параллельно. Пример с использованием
concurrent.futures: from concurrent.futures import ThreadPoolExecutor, as_completed
def find_max(sub_array):
return max(sub_array)
def parallel_max(array, num_threads):
chunk_size = len(array) // num_threads
futures = []
with ThreadPoolExecutor(max_workers=num_threads) as executor:
for i in range(num_threads):
sub_array = array[i*chunk_size:(i+1)*chunk_size]
futures.append(executor.submit(find_max, sub_array))
results = [future.result() for future in as_completed(futures)]
return max(results)
max_element = parallel_max(array, 4) # Например, с 4 потоками
Это может ускорить процесс для очень больших массивов на многопроцессорных системах.
Самый быстрый и рекомендуемый способ — это использование встроенной функции
max для стандартных массивов Python, либо функции np.max для массивов numpy, так как они написаны на C и максимально оптимизированы для производительности.@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥1
Покоряем геймдев (снова) 😐
Как вы знаете, я пытаюсь разобраться в разработке игр, и на этом пути решил сделать что-то максимально простое, но увлекательного. Выбор пал на "Пинг-Понг" — игру, в которую многие из нас играли.
Инициализация Pygame:
Важно было настроить основное окно и задать его размеры. Решил сделать его 800x600 пикселей — идеальный размер для классического "Пинг-Понга". Определил размеры и начальные позиции для ракеток и мяча. Каждая ракетка управляется своей клавишей — W и S для левой, и стрелки для правой. Настроил движение мяча и ракеток, а также проверку столкновений. Это самая важная часть кода! Когда мяч сталкивается с ракеткой, он меняет направление.
👩💻 Код доступен по ссылке
Сейчас модно зазывать людей в айти под видом работы в геймдеве, но это все можно изучать самостоятельно👨💻 Как раз можете попробовать создать какой-то такой простой проект. Или нужен подробный разбор библиотеки pygame?
@debugblog
Как вы знаете, я пытаюсь разобраться в разработке игр, и на этом пути решил сделать что-то максимально простое, но увлекательного. Выбор пал на "Пинг-Понг" — игру, в которую многие из нас играли.
Инициализация Pygame:
Важно было настроить основное окно и задать его размеры. Решил сделать его 800x600 пикселей — идеальный размер для классического "Пинг-Понга". Определил размеры и начальные позиции для ракеток и мяча. Каждая ракетка управляется своей клавишей — W и S для левой, и стрелки для правой. Настроил движение мяча и ракеток, а также проверку столкновений. Это самая важная часть кода! Когда мяч сталкивается с ракеткой, он меняет направление.
Сейчас модно зазывать людей в айти под видом работы в геймдеве, но это все можно изучать самостоятельно
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2❤1
Как найти медиану массива чисел на Python 👩💻
Медиана — это такое значение, которое делит массив на две равные части. Для нахождения медианы в массиве чисел существует несколько способов. Рассмотрим несколько из них.
1. Использование библиотеки
Это самый простой и быстрый способ для небольших массивов, поскольку функция
2. Реализация вручную с сортировкой:
Этот способ полезен, чтобы лучше понять, как вычисляется медиана. Он также дает возможность обработки нестандартных случаев.
3. Использование библиотеки
4. Нахождение медианы для больших массивов (использование квантилей):
Этот метод полезен для очень больших массивов, так как
5. Использование библиотеки
Самый быстрый и простой способ — использовать функции
@debugblog
Медиана — это такое значение, которое делит массив на две равные части. Для нахождения медианы в массиве чисел существует несколько способов. Рассмотрим несколько из них.
1. Использование библиотеки
statistics: import statistics
array = [3, 5, 1, 4, 2]
median = statistics.median(array)
Это самый простой и быстрый способ для небольших массивов, поскольку функция
median из модуля statistics написана на C и оптимизирована для работы с числами.2. Реализация вручную с сортировкой:
array = [3, 5, 1, 4, 2]
sorted_array = sorted(array)
n = len(sorted_array)
mid = n // 2
if n % 2 == 0:
median = (sorted_array[mid - 1] + sorted_array[mid]) / 2
else:
median = sorted_array[mid]
Этот способ полезен, чтобы лучше понять, как вычисляется медиана. Он также дает возможность обработки нестандартных случаев.
3. Использование библиотеки
numpy: import numpy as np
array = np.array([3, 5, 1, 4, 2])
median = np.median(array)
numpy — это мощная библиотека для научных вычислений в Python. Если массив представлен объектом numpy, этот метод будет очень быстрым и удобным.4. Нахождение медианы для больших массивов (использование квантилей):
import numpy as np
def find_median_large_array(array):
return np.percentile(array, 50)
large_array = np.random.randint(0, 1000, size=1000000) # Пример большого массива
median = find_median_large_array(large_array)
Этот метод полезен для очень больших массивов, так как
numpy оптимизирован для работы с большими данными.5. Использование библиотеки
scipy для многомерных данных: from scipy import stats
array = [3, 5, 1, 4, 2]
median = stats.scoreatpercentile(array, 50)
scipy — еще одна мощная библиотека для научных и технических вычислений, которая предоставляет множество статистических функций.Самый быстрый и простой способ — использовать функции
median из модуля statistics для небольших массивов или np.median из библиотеки numpy для больших массивов, поскольку они оптимизированы и предоставляют удобные интерфейсы для вычислений.@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1
Поиск самого длинного слова в предложении с помощью Python 👩💻
Когда вам нужно найти самое длинное слово в предложении, Python предоставляет элегантное и простое решение:
Этот код работает, разбивая предложение на отдельные слова с помощью метода split(), затем используя функцию max() для нахождения самого длинного слова. Ключевая часть — это использование параметра key=len в функции max(), который говорит Python сравнивать слова по их длине.
В итоге, если вы запустите этот код, он выведет: programming.
Этот подход универсален и может быть использован для поиска самого длинного слова в любом тексте, просто заменив строку sentence на нужное вам предложение.👨💻
✅ #study | #inf
@debugblog
Когда вам нужно найти самое длинное слово в предложении, Python предоставляет элегантное и простое решение:
sentence = 'Python is an amazing programming language'
words = sentence.split()
longest_word = max(words, key=len)
print(longest_word)
Этот код работает, разбивая предложение на отдельные слова с помощью метода split(), затем используя функцию max() для нахождения самого длинного слова. Ключевая часть — это использование параметра key=len в функции max(), который говорит Python сравнивать слова по их длине.
В итоге, если вы запустите этот код, он выведет: programming.
Этот подход универсален и может быть использован для поиска самого длинного слова в любом тексте, просто заменив строку sentence на нужное вам предложение.
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Реверсирование слов в предложении с помощью Python 👩💻
Если вам нужно перевернуть каждое слово в предложении, Python предоставляет простое решение, используя списковые включения и строковые методы. Давайте рассмотрим, как это сделать с помощью небольшого скрипта.
Вот что делает этот код:
1. Разделение предложения на слова:
2. Реверсирование каждого слова:
3. Сборка строки из перевернутых слов:
4. Вывод результата: Используется
Пример:
Если вы запустите этот код с исходным предложением 'Hello World from Python', результат будет таким:
Этот подход полезен, когда нужно изменить порядок букв в каждом слове, сохраняя при этом их исходную последовательность. Пример можно расширить для работы с более сложными текстами или адаптировать для специфических нужд.👨💻
✅ #study | #inf
@debugblog
Если вам нужно перевернуть каждое слово в предложении, Python предоставляет простое решение, используя списковые включения и строковые методы. Давайте рассмотрим, как это сделать с помощью небольшого скрипта.
sentence = 'Hello World from Python'
words = sentence.split()
reversed_words = [word[::-1] for word in words]
result = ' '.join(reversed_words)
print(result)
Вот что делает этот код:
1. Разделение предложения на слова:
sentence.split() разделяет строку на список слов, используя пробелы в качестве разделителей.2. Реверсирование каждого слова:
[word[::-1] for word in words] — это списковое включение, которое проходит по каждому слову и реверсирует его с помощью среза [::-1].3. Сборка строки из перевернутых слов:
result = ' '.join(reversed_words) объединяет перевернутые слова обратно в одну строку, разделяя их пробелами.4. Вывод результата: Используется
print(), чтобы вывести финальную строку с перевернутыми словами.Пример:
Если вы запустите этот код с исходным предложением 'Hello World from Python', результат будет таким:
olleH dlroW morf nohtyP
Этот подход полезен, когда нужно изменить порядок букв в каждом слове, сохраняя при этом их исходную последовательность. Пример можно расширить для работы с более сложными текстами или адаптировать для специфических нужд.
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1