Местная начальная школа имеет идентификаторы читательских билетов следующего вида :идентификаторы либо начинаются с "s" (для "студента" )и имеют длину ровно 6 символов, включая «s», или они начинаются с «t» (для «учителя» )и не имеют требований к длине. Предполагается, что следующая функция получает действительный идентификатор, но это отсутствует условие while.
def get_valid_id():
'''Prompt the user for and return a valid library card ID.'''
s = raw_input("Enter ID: ")
while ?????:
s = raw_input("Try again: ")
return s
Ниже приведены некоторые возможные условия для цикла while. Для каждого укажите, будет ли оно обеспечивать правильную работу функции.
Будет ли это условие обеспечивать правильную работу функции?(s[0] != "s") and (len(s) != 6) and (s[0] != "t")
Приведет ли это условие к корректной работе функции?not( (s[0] == "s" and len(s) == 6) or (s[0] == "t") )
Я не понимаю, почему ответ на 1 — нет, а на 2 — да. Я думал, что первый вопрос будет работать, так как это все «и», а второй вопрос, я думал, что «или» не заставит его работать... может кто-нибудь, пожалуйста, объясните мне это?