地元の小学校は、次の形式の図書館カード ID を持っています。または、「t」(「教師」の意味) で始まり、長さの要件はありません。次の関数は有効な ID を取得するはずですが、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の答えがイエスである理由がわかりません。最初の質問はすべて「および」なのでうまくいくと思いました.2番目の質問は「または」ではうまくいかないと思いました..誰か私にこれを説明してもらえますか?