Форум сайта python.su
всем доброй ночи!
прошу прощения за настолько наивный вопрос:
Как проверить, есть ли буква в введенном слове?..
slovo = '0'
arr = []
marr = []
bukva = [u'w']
while slovo != '':
slovo = raw_input(u'Введите слово: ').decode('cp1251')
for b in slovo:
if b in bukva:
arr.append(slovo)
else:
marr.append(slovo)
Офлайн
Вы хотите слова с указанными в bukva буквами положить в arr, а без указнных буква в marr?
Я Вас правильно понял?
Офлайн
да,именно так!
4kpt
Вы хотите слова с указанными в bukva буквами положить в arr, а без указнных буква в marr?Я Вас правильно понял?
Отредактировано Kato (Сен. 17, 2013 01:19:34)
Офлайн
Тут есть масса вариантов на самом деле. Выбираю самые простые (для понимания).
Если количество букв в bukva больше средней длины вводимого слова (slovo), то тогда имеет смысл:
slovo = '0' arr = [] marr = [] bukva = [u'w'] while True: slovo = raw_input(u'Введите слово: ').decode('cp1251') if not slovo: break list_append = marr for chr_ in slovo: if chr_ in bukva: list_append = arr break list_append.append(slovo)
slovo = '0' arr = [] marr = [] bukva = [u'w'] while True: slovo = raw_input(u'Введите слово: ').decode('cp1251') if not slovo: break list_append = marr for chr_ in bukva: if chr_ in slovo: list_append = arr break list_append.append(slovo)
Офлайн
>>> letters = set('abcd') >>> >>> arr, narr = [], [] >>> for word in 'cccx', 'zzzzz', 'zzzaz', 'xxdxdxx', 'x': ... if set(word) & letters: ... arr.append(word) ... else: ... narr.append(word) ... >>> arr ['cccx', 'zzzaz', 'xxdxdxx'] >>> narr ['zzzzz', 'x'] >>>
Отредактировано py.user.next (Сен. 17, 2013 03:50:47)
Офлайн
>>> bukva = ['a', 'b']
>>> any(x in 'az' for x in bukva)
True
>>> any(x in 'yz' for x in bukva)
False
>>> any(x in 'bz' for x in bukva)
True
Отредактировано lorien (Сен. 18, 2013 19:13:51)
Офлайн