Найти - Пользователи
Полная версия: Сегодня на манеже кортеж в кортеже
Начало » Python для новичков » Сегодня на манеже кортеж в кортеже
1 2 3
Shaman
Florenzo
Похоже, что проверка на instanse тоже только первый слой снимает
Что ей скажут снять то и снимает. Если ничего не сказать - ничего не снимет, и Питон за вас программы писать не будет.
Florenzo
alexbadaloff

OK! почитал, однако понять это не на один день :-)
какие есть команды в Python для обхода в глубину кортежа/списка?

Мне же пока не надо углубляться в словари и бинарные деревья. Мне только один, точнее второй :-) слой.
Florenzo
alexbadaloff
Мне кажется для этой задачи больше подходит словарь (dict) нежели кортеж.

Спасибо, попробую словарь. Но… тяжеловесно как-то. Ведь только буквы.
Florenzo
Shaman
Что ей скажут снять то и снимает. Если ничего не сказать - ничего не снимет, и Питон за вас программы писать не будет.

Согласен. Только вот я не знаю, как сказать программе, чтобы снимала второй слой. Лутца пересматривал, Прохоренка тоже - не нашел пока. по lektorium.tv и codecademy занимаюсь(и лутца с прохоренком читаю), только вот пока не дошло. Увы мне грешному, увы.
Shaman
Florenzo
Лутца пересматривал, Прохоренка тоже - не нашел пока. по lektorium.tv и codecademy занимаюсь(и лутца с прохоренком читаю)
Признаюсь, не читал ни единой книжки по питону, но проблемы с обходом не вижу.
FishHook
Капец, ребята, это стандартная студенческая задача на рекурсию, ну включите же мозг или оный отсутствует?
Shaman
FishHook
Капец, ребята, это стандартная студенческая задача на рекурсию
Можно и фильтрацией.
Florenzo
У меня наконец-то получилось :-)

вот:

# -*- coding: utf-8 -*-
                                                               #
cortege1 = (('а','я'),'б','в','г','д',('е','э','ё'),'з',('и','й'))
                                                               #
s = input('введите слово --> ') 
### буквы только из этого кортежа!!!!
### тестовые слова - где, дай, бай, вай, айяйяй, идея
                                                                #
for a in s:
      for b in range(len(cortege1)):
          if a in cortege1[b]:
                 print('cortege1 = ', a)
                                                                #
                                                                #


Спасибо всем.




FishHook
Florenzo
Спасибо всем.
рука-лицо.жпг
Shaman
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)
пожалуйста
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB