Форум сайта python.su
88
FlorenzoЧто ей скажут снять то и снимает. Если ничего не сказать - ничего не снимет, и Питон за вас программы писать не будет.
Похоже, что проверка на instanse тоже только первый слой снимает
Офлайн
0
alexbadaloff
Офлайн
0
alexbadaloff
Мне кажется для этой задачи больше подходит словарь (dict) нежели кортеж.
Офлайн
0
Shaman
Что ей скажут снять то и снимает. Если ничего не сказать - ничего не снимет, и Питон за вас программы писать не будет.
Офлайн
88
FlorenzoПризнаюсь, не читал ни единой книжки по питону, но проблемы с обходом не вижу.
Лутца пересматривал, Прохоренка тоже - не нашел пока. по lektorium.tv и codecademy занимаюсь(и лутца с прохоренком читаю)
Офлайн
568
Капец, ребята, это стандартная студенческая задача на рекурсию, ну включите же мозг или оный отсутствует?
Офлайн
88
FishHookМожно и фильтрацией.
Капец, ребята, это стандартная студенческая задача на рекурсию
Офлайн
0
У меня наконец-то получилось :-)
вот:
# -*- coding: utf-8 -*- # cortege1 = (('а','я'),'б','в','г','д',('е','э','ё'),'з',('и','й')) # s = input('введите слово --> ') ### буквы только из этого кортежа!!!! ### тестовые слова - где, дай, бай, вай, айяйяй, идея # for a in s: for b in range(len(cortege1)): if a in cortege1[b]: print('cortege1 = ', a) # #
Отредактировано Florenzo (Июнь 5, 2013 17:58:07)
Офлайн
568
Florenzoрука-лицо.жпг
Спасибо всем.
Офлайн
88
Florenzo
Спасибо всем.
mycortege = (('а','я',('е','э','ё')),'б','в','г','д','з',('и','й')) myword = 'где' testf = lambda x:isinstance(x, (tuple, list, dict)) cs = set() wcort = tuple(mycortege) while len(wcort): cs |= set(filter(lambda x: not testf(x), wcort)) wcort = reduce(lambda x, y: x+y, filter(testf, wcort), ()) print(set(myword) <= cs)
Офлайн