Python мощный – вы можете конденсироваться многие алгоритмы в Одно строка кода Python Отказ Так возникает естественный вопрос: Можете ли вы написать While Loop в одной строке кода ? Эта статья исследует этот критический вопрос о критическом вопросе во всех деталях.
Как написать цикл While в одной линейке кода Python?
Есть три способа написания одноклассника во время цикла:
- Метод 1 : Если корпус петли состоит из одного утверждения, напишите это утверждение в ту же строку:
Пока правда: Печать («Привет»)
Отказ Это печатает строку«Привет»
в оболочку до тех пор, пока вы не вмешиваетесь или ваша операционная система насильственно заканчивает выполнение. - Способ 2: Если корпус петли состоит из нескольких утверждений, используйте точку с запятой, чтобы отделить их:
Пока правда: Печать («Привет), Печать (« BYE »)
Отказ Это запускает операторы один за другим в рамках цикла. - Метод 3 : Если корпус петли состоит из вложенных составных утверждений, замените внутренние составные структуры с тройным оператором:
Пока правда: Печать («Привет»), если условие еще печатают («BYE»
).
Упражнение : Запустите код. Что вы наблюдаете? Попробуйте исправить бесконечную петлю!
Далее вы будете глубоко в каждом из этих методов и стать лучшим кодером в процессе.
Прежде чем мы будем двигаться дальше, я взволнован, чтобы представить вам свою новую книгу Python Python One-listers (Amazon Link).
Если вам нравятся одноклассники, вы будете любить книгу. Это научит вам все, что нужно знать о Одно строка кода Python. Но это тоже Введение в компьютерную науку , наука о данных, машин обучения и алгоритмы. Вселенная в одной строке Python!
Книга выпускается в 2020 году с помощью книги по программированию по всему мировому классу «Ностарх» (Сан-Франциско).
Но достаточно промо, давайте погрузимся в первый метод – профайн …
Метод 1: одностороннее оператор во время петли одноклассника
Просто пишите цикл While в одну строку кода – самый прямой способ выполнения задачи. Скажем, вы хотите написать следующий бесконечный петлю в одной строке кода:
while True: print('hi') ''' hi hi ... '''
Вы можете легко сделать это, написав команду в одну строку кода:
# Method 1: Single-Line While Loop while True: print('hi')
Хотя этот ответ кажется простым, интересный вопрос: Можем ли мы написать более сложный, пока цикл, который имеет более длинный корпус петлей в одной строке?
Связанная статья: Если вы заинтересованы в сжатии целых алгоритмов в одну строку кода, проверьте Эта статья с 10 Python One-Listers это вписывается в один твит.
Давайте рассмотрим альтернативный питонский трюк, который очень популярен среди мастеров Python:
Метод 2: Multi-Shete при петле одноклассника
Как оказывается, вы также можете использовать Semicolon для разделения нескольких независимых утверждений и выражают их в одной строке. Утверждение выражение1; Expression2
Читает «Первый execute Expression1
, затем выполнить Expression2
“ Отказ
Вот пример того, как вы можете запустить цикл While, пока счетчик счетчика C
. достигает порога C
.:
c = 0 while c < 10: print(c); c = c + 1 ''' 0 1 2 3 4 5 6 7 8 9 '''
Таким образом, вы можете легко сжать «плоские» телы петли в одной линейке кода Python.
Но что, если корпус петли не плоский, но вложенный в иерархическую манеру – как выразить те, которые вложенными, когда петли в одной строке?
Способ 3: вложенные составные операторы во время петли одноклассника
Вы часто хотите использовать Составные утверждения В Python, которые являются заявлениями, которые требуют отступов блока, такого как в случае операторов или в то время как петли.
В предыдущих методах вы видели простые, в то время как петли одноклассники с одним оператором корпуса петли, а также несколько операторов корпуса цикла с запятой.
Проблема : Но что, если вы хотите использовать соединение оператора в течение простого во время петли – в одной строке кода?
Пример : Следующее утверждение работает просто хорошо:
# YES: if expression: print('hi')
Вы также можете добавить несколько заявлений:
# YES: if expression: print('hi'); print('ho')
Но вы не можете использовать вложенные составные утверждения в одном лапке в одном лайнере:
# NO: while expression1: if expression2: print('hi')
Python бросает ошибку. не работать, потому что оба в то время как и
Если С заявлениями являются соединение.
Тем не менее, есть простое решение, чтобы сделать эту работу. Вы можете заменить Если Expression2: Печать («Привет»)
Часть с Тернарный оператор и использовать выражение, а не составное утверждение:
# Method 3: One-Line While Loop + Ternary Operator while True: print('yes') if True else print('no')
Вы также можете использовать вложенные операторы Ternary для учетной записи, возможно, вложенные, если блоки:
Похожие видео: одна строка для цикла
Вы можете узнать больше о однострочной петле в своей подробной статье здесь.
Куда пойти отсюда
Знание малых питонов одноклассников, таких как понимание списка и одноразовые для петель, жизненно важно для вашего успеха на языке Python. Каждый экспертный кодер знает их в конце концов, это то, что делает их очень продуктивными.
Если вы хотите узнать язык Python by Heart, присоединяйтесь к моим бесплатным курсу электронной почты Python. Это на 100% на основе бесплатных чис-листов Python и урокам Python. Это весело, легко, и вы можете оставить в любое время.
Python One-Liners Книга
Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.
Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.
Пять главных глав на пять глав обложки советы и трюки, регулярные выражения, машинное обучение, самые темы науки о данных и полезные алгоритмы. Подробные объяснения одноклассников вводят ключевые концепции компьютерных наук и повысить ваши кодировки и аналитические навыки. Вы узнаете о продвинутых функциях Python, такие как понимание списка, нарезки, нарезки, функции лямбда, регулярные выражения, карта и уменьшения функций и нарезки нарезки. Вы также узнаете, как:
• Используйте структуры данных для решения реальных проблем, такие как использование булевой индексации для поиска городов с загрязнением выше среднего • Используйте Numpy Basics, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика • Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения • Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы • Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку
К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.
Получите свой Python One-Liners сейчас !!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.