Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как проверить, есть ли одинаковые буквы в словах. Python

Кирилл Тарасевич Ученик (205), на голосовании 2 года назад
Вопрос казалось бы простой, но как реализовывать - ломаю голову. У меня программа на Pythone спрашивает слова. Слова с помощью цикла for спрашиваются и записывается отдельно (так требует задача), слова я записываю в список. Вопрос заключается в том, как из этого списка вытащить слова и проверить их на одинаковые буквы, причем количество букв и слов вводится в начале.

программа (+ скриншот):
l = int(input()) # Длина слова (буквы)

n = input() # Количество слов
n2 = []
for i in range(int(n)):
n1 = input() # Спрашивает слова по кол-во
n2.append(n1) # Запись слов в список
if(l < len(n1)): # проверка их на нужную длинну
print('У слова меньшее кол-во символов чем было задано')
exit()
else:
pass
Голосование за лучший ответ
Молот Шотландцев Высший разум (301448) 2 года назад
def f(a,b): return 'есть одинаковые буквы' if len(a + b) != len(set(a + b)) else 'буквы разные'

print(f('abc','defh'))
print(f('abc','daefh'))
print(f('atbc','daefh'))
print(f('xyz','daefh'))
КавабангаПрофи (897) 2 года назад
Не совсем корректно работает. Если в каком-то слове есть повторяющиеся буквы, то выдаст "есть одинаковые буквы".
КавабангаПрофи (897) 2 года назад
Вот так скорее всего правильней
if len(set(a)) + len(set(b)) != len(set(a + b))
Vitness Просветленный (35220) 2 года назад
Из этого потока мыслей ничего не смог понять, но проверка на то, есть ли одинаковые буквы в словах делается так:
if set(word1) & set(word2): ...
Кирилл ТарасевичУченик (205) 2 года назад
У меня в программе есть список, в него записываются данные через цикл for (спрашиваются слова у пользователя). Количество элементов этого списка зависит от того, сколько было введено количество в начале программы (тобиж пользователь в начале программы ввел под количеством слов 5 (это в моей программе переменная n), то список будет состоять из 5 слов). Вот как мне вывести из списка слова так, чтобы можно было у всех слов из этого списка проверить похожие буквы? (Если не понятен ход моих мыслей - говори, постараюсь изложить еще понятнее).
Vitness Просветленный (35220) Кирилл Тарасевич, что значит проверить похожие буквы?
Кавабанга Профи (897) 2 года назад
А почему у тебя, если l < len(n1), печатается 'У слова меньшее кол-во символов чем было задано'. Наоборот же, у слова большее кол-во символов.
Кирилл ТарасевичУченик (205) 2 года назад
Я над текстом при выводе не заморачивался :)
Похожие вопросы