Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2021, 13:33   #1
Narvik
Пользователь
 
Регистрация: 03.03.2021
Сообщений: 21
По умолчанию Работа со строками.

Здравствуйте. У меня задание, но не получается сделать его.
Напишите программу, которая запрашивает строку символов, состоящую только из латинских букв, и выводит "YES", если строка полностью состоит только из букв x, y, z и "NO", если в строке есть ещё какие-то буквы.


Код:
s = str(input())
f = 'NO'
separators = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w']
for i in range(0,len(s)):
    if s[i] == "x" and s[i] == "y" and s[i] == "z" and s[i] != separators:
        f = 'YES'
if f == "NO":
    print('NO')
else:
    print('YES')
Narvik вне форума Ответить с цитированием
Старый 24.04.2021, 15:02   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Сделайте из строки множество:
Код:
s = input('Введите строку символов: ')  # Получим строку
m = set(s)     # Сделаем множество
n = len(m)     # Размер множества
t = 'x' in m   # Проверяем вхождение в множество символа 'x'
mxyz = set(['x', 'y', 'z'])  # Создать множество из символов x, y, z
f = m <= mxyz  # Все ли элементы множества m входят в множество mxyz
Больше операций с множествами можно узнать в Сети.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 24.04.2021, 15:22   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

Код:
s = input('Введите строку символов: ')  # Получим строку
if 'x' or 'y' or 'z' in s:
    print('NO')
else:
    print('YES')
Ципихович Эндрю вне форума Ответить с цитированием
Старый 24.04.2021, 19:36   #4
Narvik
Пользователь
 
Регистрация: 03.03.2021
Сообщений: 21
По умолчанию

Ципихович Эндрю,
Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Код:
s = input('Введите строку символов: ')  # Получим строку
if 'x' or 'y' or 'z' in s:
    print('NO')
else:
    print('YES')

Я также сделал, но при допустим xxxyyy он выводит No, а должен Yes
Narvik вне форума Ответить с цитированием
Старый 24.04.2021, 19:41   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Narvik, лучше делайте через множества, как предложил ViktorR.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 25.04.2021, 09:44   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

Цитата:
Сообщение от Narvik Посмотреть сообщение
"YES", если строка полностью состоит только из букв x, y, z
согласен, тогда моё решение не подходит, сорри
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
РАБОТА СО СТРОКАМИ в С(Си) Samlab88 Помощь студентам 0 29.05.2016 20:49
Работа со строками в C++ koljsch Помощь студентам 1 18.05.2013 06:40
Работа со строками irsen22 Паскаль, Turbo Pascal, PascalABC.NET 5 13.05.2013 15:32
си++, работа со строками irina belka Помощь студентам 2 08.05.2011 15:38
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19