как сдвинуть код влево в python

Как сдвинуть блок кода

Когда вы пишете программу, особенно большую, то экономия времени становится как никогда актуальной. И здесь даже сэкономленные секунды в итоге складываются в часы, а то и дни (в зависимости от того, насколько сложна ваша программа).

Поэтому все профессиональные программисты стараются использовать возможности среды разработки на “всю катушку”.

В этой статье я расскажу об одной из фишек, которая используется довольно часто (во всяком случае мной) и которая на самом деле экономит время и нервы.

Итак, суть вопроса: довольно часто вы пишите, например, такой код:

В этом случае новичок делает так:

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

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

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

Как сдвинуть код вправо

Чтобы сдвинуть блок кода вправо в Lazarus, нажмите сочетание клавиш

CTRL + I

Чтобы сдвинуть блок кода вправо в Delphi, нажмите сочетание клавиш

CTRL + SHIFT + I

Как сдвинуть код влево

Чтобы сдвинуть блок кода влево в Lazarus, нажмите сочетание клавиш

CTRL + U

Чтобы сдвинуть блок кода влево в Delphi, нажмите сочетание клавиш

CTRL + SHIFT + U

Настройки клавиш в Lazarus

В Lazarus можно определить другие сочетания клавиш для выполнения этих действий (сдвига блока текста). Возможно, есть такое и в Delphi. Но утверждать не берусь. Потому что в моей старой версии такого нет, а в новых может и есть, но у меня нет новых версий, чтобы это проверить.

В Lazarus это делается через меню

В открывшемся окне выбрать

На этой вкладке вы можете изменить сочетания клавиш для сдвига кода. Для этого надо:

Там же можно проверить, нет ли конфликтов с другими комбинациями (то есть не задействована ли выбранная вами комбинация для других операций).

Кроме этого, вы можете поставить галочку напротив надписи ТАБ МЕНЯЕТ ОТСТУП БЛОКОВ, и тогда сдвигать блок кода можно просто одной клавишей TAB. Правда, таким образом можно сдвигать код только вправо. Но комбинации клавиш для сдвига кода вправо/влево остаются работать, так что установить эту галочку будет не лишним.

Источник

Как сдвинуть код влево в python

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

Люди!
Я снова к вам обращаюсь за помощью! Простите меня, бестолковую!

Задание заключается вот в чем:

то есть в калькуляторе это будет выглядеть так:

Эта задача снова на использование цикла while, причем один в другом.
Я как-то недавно писала о задаче с удалением дубликатов:

Насколько я понимаю, она очень похожа на эту, но тут мне не совсем понятно, как в новом задании поступать с переменными i и j.

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

Проблема в том, что при всем чтении учебников я едва понимаю, как все это работает.

А как быть, если сдвиг нужен в обратную сторону?
Т.е. вместо [1, 2, 3, 4, 5, 6] получить [0, 1, 2, 3, 4, 5]

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

А можно поинтересоваться, какими именно учебниками пользуетесь?

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

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

Препод велел еще сделать циклические сдвиги, когда в первом случае список [1, 2, 3, 4, 5, 6] превращается в [6, 1, 2, 3, 4, 5], а в другом превращается [2, 3, 4, 5, 6, 1]

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

Цитата(Paranorma @ 21.1.2007, 20:53 как сдвинуть код влево в python)
Россум, Дрейк, Откидач (тот же Tutorial, только по русски), «Учимся программировать вместе с Питоном»

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

Да, по Чаплыгину книга вообще хорошая.

А как превратить a = [1, 2, 3, 4, 5, 6] в a = [6, 5, 4, 3, 2, 1].

Могу конечно и так написать, но мне то через while надо:

Одинокий волк
как сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 360
Регистрация: 25.10.2005
Где: #vingrad

Репутация: 3
Всего: 15

Программа копирует элементы их массива a[] в a2[] в обратном порядке, дальше освобождаем массив
a[] от его старых элементов а потом присваиваем ему элементы массива a2[]

Код
a = [1, 2, 3, 4, 5, 6]
a2 = [] # Создаем дополнительный массив
I = len(a)-1 # Запоминаем длинну a[] массива в I
aLen = len(a) # Запоминаем длинну a[] массива в aLen

Remember, st1ng3r
/server irc.ircline.ru /j #vingrad

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

Эксперт
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Модератор
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: нет
Всего: 36

Опытный
как сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 1
Всего: 34

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

Цитата(Paranorma @ 20.1.2007, 21:57 как сдвинуть код влево в python)
Эта задача снова на использование цикла while

Vadim A. Kazantsev
как сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: 7
Всего: 14

Цитата(Void @ 24.1.2007, 17:43 как сдвинуть код влево в python)
Я не считаю этот способ преподавания правильным, но c’est la vie.

Ну почему же? На ранних стадиях обучения программированию, которые, очевидно, осваивает Paranorma, главное — научиться придумыват и реализовывать своими руками элементарные алгоритмы, пользуясь примитивами, а не [сколь бы то ни было] продвинутыми методами и фишками языка.

Вот моё «безопасное» (не портящее массив-аргумент, а создающее новый) решение для задачи реверса массива (списка):

Ниже приведено понравившееся мне решение задачи левого и правого сдвигов массива (списка) slav0nic‘а с форума http://python.com.ua/forum/.

a = [1, 2, 3, 4, 5, 6]
print a
print » > 2″, right_move(a, 3)

имхо так покрасивше В)
сдвигается по 1 элементу за цикл

slav0nic = home: «http://slav0nic.xss.ru»,
LJ: «http://slav0nic.livejournal.com»>

def simple_dup(a):
b = []
for x in a:
b.append(x)
return b

a = [1, 2, 3, 4, 5, 6]
print a
print » > 2″, right_move(a, 3)

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

Произвольный сдвиг можно и попроще записать.

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

Народ! тут такая проблемка.
Короче, вот как мне записать это задание:

Но не работает ведь! HELP.

Vadim A. Kazantsev
как сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: 7
Всего: 14

З.Ы.
i += 1 # Почему ты боишься использовать такую форму?
# Она очень удобна.
# Да, на самом деле, и проста в понимании.
# Она дословно означает: «увеличить значение переменной i на единицу».
# И писать меньше, и с точки зрения человеческой логики 1 команда вместо 2-х
# («сложить i c единицей» и «присвоить переменной i вычесленное значение»).

Шустрый
как сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 102
Регистрация: 1.1.2007

Репутация: 1
Всего: 1

Цитата(Paranorma @ 25.1.2007, 23:09 как сдвинуть код влево в python)
З.Ы.
i += 1 # Почему ты боишься использовать такую форму?
# Она очень удобна.
# Да, на самом деле, и проста в понимании.
# Она дословно означает: «увеличить значение переменной i на единицу».
# И писать меньше, и с точки зрения человеческой логики 1 команда вместо 2-х
# («сложить i c единицей» и «присвоить переменной i вычесленное значение»).

λcat.lolcat
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 6
Всего: 173

Эксперт
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Модератор
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: нет
Всего: 36

Цитата(Paranorma @ 26.1.2007, 03:28 как сдвинуть код влево в python)
Я не боюсь, по мне эта форма тоже проста и понятна, но препод ругает за ее использование. smile

Опытный
как сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 2
Всего: 50

Цитата(Paranorma @ 26.1.2007, 00:28 как сдвинуть код влево в python)
Я не боюсь, по мне эта форма тоже проста и понятна, но препод ругает за ее использование.

Эксперт
как сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Модератор
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: нет
Всего: 36

Цитата(Artemios @ 26.1.2007, 14:27 как сдвинуть код влево в python)
Мда. Бывает smile А какую он аргументацию приводит? На Паскаль не похоже? smile

Опытный
как сдвинуть код влево в pythonкак сдвинуть код влево в python

Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1

как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python как сдвинуть код влево в python

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

Источник

Циклический сдвиг строки

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

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

Формат ввода
Сначала вводится целое число – сдвиг.
Затем вводятся строки.

Формат вывода
Нужно вывести каждую из строк с указанным сдвигом. Сдвиг может оказаться больше длины строки, тогда сдвигать нужно в цикле. Также сдвиг может быть отрицательным.

Ввод
5
When words fail, music speaks
To be or not to be

Вывод
words fail, music speaksWhen
or not to beTo be

Помощь в написании контрольных, курсовых и дипломных работ здесь.

как сдвинуть код влево в pythonЦиклический сдвиг массива
Нужно решение пока не хватает знаний =) 1. Дан массив x из n элементов. Найдите.

как сдвинуть код влево в pythonЦиклический сдвиг вправо
Помогите переписать код на python #include using namespace std; int main() < int.

как сдвинуть код влево в pythonЦиклический сдвиг массива вправо
Напишите программу, которая выполняет циклический сдвиг элементов массива вправо на R элементов.

как сдвинуть код влево в pythonЦиклический сдвиг элементов массива на K
дан массив, нужно его циклически сдвинуть на К, если К>0 вправо, K 3

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Циклический сдвиг массива влево
Напишите программу, которая выполняет циклический сдвиг элементов массива влево на R элементов.

как сдвинуть код влево в pythonЦиклический сдвиг отрезка массива влево
Напишите программу, которая выполняет циклический сдвиг части массива, начиная с элемента с номером.

как сдвинуть код влево в pythonОтфильтровать список и проверить на циклический сдвиг
Имеется список X, содержащий более чем 100 тысяч списков одинаковой длины (не более 10) из.

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

как сдвинуть код влево в pythonВыполнить циклический сдвиг массива вправо на 4 элемента
Напишите программу для выполнения циклического сдвига массива вправо на 4 элемента питон

Циклический сдвиг списка вправо или влево на указанное число позиций
def func(l, n): return l + l try: s=input(‘Введите список чисел через пробел: ‘) l.

Источник

BestProg

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

Связанные темы

Поиск на других ресурсах:

1. Назначение битовых операторов. Перечень

Язык Python поддерживает работу с двоичными разрядами (битами) целочисленных величин, где каждый бит числа рассматривается в отдельности. Для обеспечения этого в Python используются так называемые битовые или поразрядные операторы, которые реализуют общеизвестные битовые операции. Поддержка битовых операторов есть также в других языках программирования.

В битовых операторах (операциях) каждый операнд рассматривается как последовательность двоичных разрядов (бит), которые принимают значение 0 или 1 (двоичная система исчисления). Над этими разрядами можно выполнять известные операции (логическое «И», логическое «ИЛИ» и т.д.)

Перечень битовых операторов языка Python в порядке убывания приоритета следующий:

2. Битовый оператор

В битовом операторе (операции)

Пример.

Операторы сдвига влево и сдвига вправо >> сдвигают каждый бит на одну или несколько позиций влево или вправо. Общая форма операторов следующая

Рисунок 1. Работа операций: а) сдвига влево (умножение на 2); b) сдвига вправо >> (целочисленное деление на 2)

Если нужно помножить число на 16, то нужно сдвинуть это число на 4 бита влево. Если нужно разделить число на 8, то нужно сдвинуть это число на 3 бита вправо. Скорость выполнения операций сдвига выше в сравнении с операциями умножения и деления на числа кратные 2 в степени N ( N – количество сдвинутых бит).

Пример.

Результат работы программы

4. Битовый оператор & (И, AND). Пример

Каждый целочисленный операнд рассматривается как набор бит, над любым из которых выполняется побитовая операция «И».

На рисунке 2 показана работа битовой операции «И».

как сдвинуть код влево в python

Рисунок 2. Битовый оператор & «И»

Как видно из рисунка, бит в позиции 0 первого операнда ( x ) вычисляется с битом в позиции 0 второго операнда ( y ), соответственно бит в позиции 1 первого операнда ( x ) вычисляется с битом в позиции 1 второго операнда ( y ) и т.д. При таких вычислениях результирующее значение любого бита определяется по следующим формулам:

Пример.

Результат работы программы

5. Битовый оператор ^ (исключающее ИЛИ, XOR). Пример

Битовый оператор исключительное ИЛИ обозначается символом ^ и выполняет операцию сложения по модулю 2 для любого бита операндов. Общая форма оператора следующая

Оператор исключающего ИЛИ (XOR) оперирует двоичными разрядами. Каждый операнд рассматривается как последовательность бит. Результат побитового исключающего ИЛИ определяется по следующим формулам

На рисунке 3 отображен пример битового исключающего ИЛИ для двух операндов.

как сдвинуть код влево в python

Рисунок 3. Битовый оператор «исключающее ИЛИ»

Пример.

Результат работы программы

6. Битовый оператор | ИЛИ (OR). Пример

Общая форма битового оператора | следующая

На рисунке 4 продемонстрирована работа битового оператора ИЛИ на примере двух произвольных операндов

как сдвинуть код влево в python

Рисунок 4. Битовый оператор ИЛИ

Пример.

Результат работы программы

7. Примеры использования битовых операторов

Пример 1. Вытянуть из числа 4,5,6 биты и определить их целочисленное значение.

Результат работы программы

Пример 2. Умножить значения двух чисел. В первом числе взять биты, которые размещенные в позициях 0-5. Во втором числе взять биты, которые размещены в позициях 0-7.

Источник

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

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