Решение аттестационной комиссии

Pumpkin

Новичок
Пользователь
Окт 17, 2020
5
0
1
Помогите, пожалуйста, решить


Дана строка, в которой описано решение комиссии насчет курсовой работы. Вывести YES, если решение начинается с подстроки "зачесть", NO в ином случае. Учесть, что решение может быть написано любым регистром (большими буквами, маленькими, с большой).

ФОРМАТ ВВОДА:



  • Строка с решением комиссии


ФОРМАТ ВЫВОДА:



  • Строка "YES" или "NO"
 

Farruh

Пользователь
Пользователь
Авг 9, 2020
15
5
3
Python:
def answer(text):
    if text.split(" ")[0].lower() == "зачесть":
        return "YES"
    else:
        return "NO"
 

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
сравнение тут тоже не нужно. return 'YES' if text.lower().startswith('зачесть') else 'NO'
ну камон, return ["NO", "YES"][text.lower().startswith("зачесть")]
 
  • Мне нравится
Реакции: Farruh

Pumpkin

Новичок
Пользователь
Окт 17, 2020
5
0
1
Спасибо большое
 

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
Спасибо большое
это можно сделать и в одну строку, и лямбдой. если важно, чтобы возвращало именно YES или NO, то можно сделать со словарем или даже списком.

вообще, попробуй сделать так, чтобы оно возвращало булевое значение(True/False). подсказка: сравнение возвращает булевое значение, а ифы тут не нужны
 
  • Мне нравится
Реакции: Farruh

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
это можно сделать и в одну строку, и лямбдой. если важно, чтобы возвращало именно YES или NO, то можно сделать со словарем или даже списком.

вообще, попробуй сделать так, чтобы оно возвращало булевое значение(True/False). подсказка: сравнение возвращает булевое значение, а ифы тут не нужны
сравнение тут тоже не нужно. return 'YES' if text.lower().startswith('зачесть') else 'NO'
 
  • Мне нравится
Реакции: lynulx и Farruh

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
ну камон, return ["NO", "YES"][text.lower().startswith("зачесть")]
Так не стоит привыкать делать. Это прикольно, но я не припомню, чтобы в стандарте гарантировалось соответствие этих булов конкретным интам, а реализация может измениться. {True: 'YES', False: 'NO'}[...]
 
  • Мне нравится
Реакции: Farruh

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
Так не стоит привыкать делать. Это прикольно, но я не припомню, чтобы в стандарте гарантировалось соответствие этих булов конкретным интам, а реализация может измениться. {True: 'YES', False: 'NO'}[...]
да не, если переводить булы в инты, то будет строго 0 и 1. кстати, про такой вариант со словарем я и говорил
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
если переводить булы в инты, то будет строго 0 и 1
Еще раз: так в стандарте написано?
 

lynulx

Модератор
Команда форума
Модератор
Авг 9, 2020
139
19
18
Еще раз: так в стандарте написано?
вот, что говорит дока

Boolean values are the two constant objects False and True. They are used to represent truth values (although other values can also be considered false or true). In numeric contexts (for example when used as the argument to an arithmetic operator), they behave like the integers 0 and 1, respectively. The built-in function bool() can be used to convert any value to a Boolean, if the value can be interpreted as a truth value (see section Truth Value Testing above).

обращу внимание на "they behave like the integers 0 and 1"
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Не дока, а спецификация. Да, я со вторым питоном перепутал, все ок :)
 
  • Мне нравится
Реакции: lynulx

Форум IT Специалистов