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

Срочно, Python!! Молю

Lolo4Ka Good Ученик (214), закрыт 7 месяцев назад
Вася сказал Соне, что все средние символы строки из его программы стоят позже первого и раньше последнего. «Где же им ещё быть!» — удивилась Соня. Но оказалось, что Вася имел в виду алфавит: в строке между первым и последним символами стоят те символы, которые в алфавите находятся позже первой и раньше последней буквы (или равны им).
Дана строка. Прав ли Вася? Выведи "ДА" или "НЕТ".

Ввод Вывод
аыостлвоисрвавроая ДА
0фыооыовотваоаоаьла1 НЕТ


Господи помогите мне, мне из всех задач надо хотя бы одну решить чтобы была 3, помогите эту сделать..конец триместра, может выйти три..
Лучший ответ
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (269718) 8 месяцев назад
 def is_vasya_right(string): 
alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
first_char = string[0]
last_char = string[-1]

# Проверяем наличие первого и последнего символов в алфавите
if first_char not in alphabet or last_char not in alphabet:
return "НЕТ"

# Порядковые номера первого и последнего символов в алфавите
first_index = alphabet.index(first_char)
last_index = alphabet.index(last_char)

# Проверяем, что все средние символы находятся в алфавитном порядке
for char in string[1:-1]:
if char not in alphabet:
return "НЕТ"
char_index = alphabet.index(char)
if not (first_index <= char_index <= last_index):
return "НЕТ"

return "ДА"

# Примеры использования
print(is_vasya_right("аыостлвоисрвавроаря")) # ДА
print(is_vasya_right("юфыооыовотваоаоаьла1")) # НЕТ
Lolo4Ka GoodУченик (214) 8 месяцев назад
Спасибо, а попроще способа нету, весь интернет облазила и искала..? Мы просто не проходили так, и это я не смогу ей объяснить
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (269718) Lolo4Ka Good,
 def is_vasya_right(string): 
    first_char = string[0] 
    last_char = string[-1] 
     
    for char in string[1:-1]: 
        if not (first_char <= char <= last_char): 
            return "НЕТ" 
     
    return "ДА" 
 
print(is_vasya_right("аыостлвоисрвавроая"))  # ДА 
print(is_vasya_right("0фыооыовотваоаоаьла1")) # НЕТ 
 
Остальные ответы
Лев Михайлов Мыслитель (7203) 8 месяцев назад
 print(['НЕТ', 'ДА'][(lambda x: all(x[0] <= i <= x[-1] for i in x))(input())]) 
Lolo4Ka GoodУченик (214) 8 месяцев назад
Спасибо
Celtic Hammer Мудрец (16766) 8 месяцев назад
 s = list(filter(lambda x: x.isalpha(), input())) 
n = s[1:-1]
r = [n[i] for i in range(len(n)) if s[0] < n[i] < s[-1]]
print("ДА" if r else "НЕТ")
Похожие вопросы