Еще раз здравствуйте. Жаль что никто не ответил на мой предыдущий вопрос... Ну да ладно. Вопрос другой. Почему после import codecs не работает простая функция open. И ошибка не вылетает. Просто не работает. Нужно именно codecs.open использовать.
aleksei1987, мне жаль, что на твои вопросы вообще кто-то отвечает, потому что задавать их надо в соответствующей теме форума -> Python, а здесь ты разводишь мусор. Каким образом можно пройти мимо самой первой и самой большой темы форума и решить задать вопрос здесь, я не понимаю.
Почитай шапки той и этой темы и прикинь, которая больше подходит под твои нужды.
Задачка: сформировать список всех возможных вариантов последовательности символов. И чтоб без повторов. Пример: input = 'abc' output = ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']
Нагуглил по памяти доку к модулю. Адаптировал к Python 2.2. itertools
from __future__ import generators
def permutations (iterable, r=None): pool = tuple(iterable) n = len(pool) if r is None: r = n if r > n: return indices = range(n) cycles = range(n, n-r, -1) yield ''.join([pool[i] for i in indices[:r]]) reversed_list = range(r) reversed_list.reverse() while n: for i in reversed_list: cycles[i] -= 1 if cycles[i] == 0: indices[i:] = indices[i+1:] + indices[i:i+1] cycles[i] = n - i else: j = cycles[i] indices[i], indices[-j] = indices[-j], indices[i] yield ''.join([pool[i] for i in indices[:r]]) break else: return
всем привет помогите решать задачу: Например два раз нажать кнопку одновременно должна "K" пример скрипт(одна раз нажать кнопку) if event[keycode] == key_codes.EKey2: event[keycode] = 74 #("J") #pyS60
Оживлю тему задачкой, хотя ничего сложненького не придумалось. Есть список допустим range(10). Необходима функция, возвращающая тавлицу вида [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]], т.е. необходимо разбить с некоторым заданным шагом. В данном примере две строки таблицы по 4 элемента и то, что осталось.
В современном мире вы встречаетесь с огромным количеством телефонных номеров, которые со временем становятся всё длиннее и длиннее. И вам приходится запоминать эти номера. Одним из простых способов запоминания является сопоставление букв каждой цифре, как показано на следующем рисунке: 1 ij 2 abc 3 def 4 gh 5 kl 6 mn 7 prs 8 tuv 9 wxy 0 oqz Таким образом, каждому слову или группе слов может быть сопоставлен уникальный номер, так что можно запоминать слова вместо телефонных номеров. Очевидно, есть особый шарм в том, чтобы найти простую взаимосвязь между словом, используемым для запоминания телефонного номера, и владельцем этого номера. Так, телефонный номер 941837296 вашего друга, играющего в шахматы, может быть прочитан как WHITEPAWN (белая пешка), а номер 2855304 Вашего любимого учителя может быть прочитан как BULLDOG (бульдог).Напишите программу, находящую самую короткую последовательность слов (имеющую наименьшее количество слов), которая соответствует заданному номеру телефона и заданному списку слов. Соответствие описано на рисунке выше.Исходные данныеВвод состоит из набора тестов. Первая строка каждого теста содержит номер телефона, к которому нужно подобрать мнемонику. Номер состоит не более чем из 100 цифр. Вторая строка содержит общее количество слов в словаре (максимум 50 000). Каждая из оставшихся строк содержит одно слово, состоящее не более чем из 50 строчных латинских букв. Общий размер ввода не превосходит 300 килобайт. Последняя строка ввода содержит число −1.РезультатКаждая строка вывода должна содержать кратчайшую последовательность слов, найденную вашей программой. Слова должны быть разделены одиночными пробелами. Если для входных данных нет решения, соответствующая строка вывода должна содержать текст “No solution.”. Если существует несколько решений, имеющих одинаковое количество слов, можете выбрать любое из них.Пример исходные данные результат 7325189087 5 it your reality real our 4294967296 5 it your reality real our -1 reality our No solution. Источник задачи: Central European Olympiad in Informatics 1999