@hilowblind

Как мне вывести «YES»?

Вот условие задачи:
codeforces.com/contest/141/problem/A

Вот мое решение,
name1 = input()
name2 = input()
letters = input()
name = name1 + name2
for i in letters:
    n = name.find(i)
    if n == 0:
        name = name[1:]
    elif n == len(name) - 1:
        name = name[:-1]
    elif n == -1:
        n = "NO"
        print(n)
        break
    else:
        name = name[:n] + name[n+1:]


но я не пойму как мне вывести YES в случае, если все верно. Так, чтобы не повторялось после NO. Если я выведу за цикл, то если цикл прервется, сначала выведется NO а потом YES, а в цикле поставить то не знаю как сделать. Простейший вопрос, но у меня иногда бывают затупы, эту задачу сделал за десять минут, и сорок минут думал как сделать правильный вывод на экран и так и не придумал.
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@immelnikoff
Изучаю БД
...
if len(name) != 0:
    print('NO')
else:
    print('YES')


Я бы решил так:
name1 = 'BABBONATALE'
name2 = 'FATHERCHRISTMAS'
letters = 'BABCHRISTMASBONATALLEFATHER'
name = name1 + name2
for letter in letters:
    if letter in name:
        name = name.replace(letter, '', 1)
    else:
        name = 'x'
        break
if len(name) != 0:
    print('NO')
else:
    print('YES')

А ещё лучше так:
name1 = 'SANTACLAUS'
name2 = 'DEDMOROZ'
letters = 'SANTAMOROZDEDCLAUS'
if sorted(name1 + name2) != sorted(letters):
    print('NO')
else:
    print('YES')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@JohnnyBravo7
аналитика, маркетинг, python, js, google script
Интересно было решать

guest = 'SANTACLAUS'
host = 'DEDMOROZ'
dic = 'SANTAMOROZDEDCLAUS'
sum_name = guest + host

a = 0
dic = list(dic)
c = 0

for i in sum_name:
    for j in range(len(dic)):
        if i == dic[j]:
            dic[j] = ''
            a = 1
            break
    if a == 0:
        c = 1
        print('no')
        break
if c == 0:
    dic = "".join(dic)
    if len(dic) != 0:
        print('no')
    else:
        print('yes')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы