地元の小学生は、次のような形式のライブラリカードIDを持っています。IDは "s"( "student")から始まり、 "s"を含む正確に6文字です。または「t」(「先生」)で始まり、長さの要件はありません。次の関数は有効なIDを取得するはずですが、while条件がありません。Python:いくつかのブール値テストのあるステートメント
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")
この条件では、この機能が正しく機能しますか? 1のための答えは何と2がyesではありませんなぜ
not((s[0] == "s" and len(s) == 6) or (s[0] == "t"))
は私が得ることはありません。私は最初の質問はすべて "and"なので、2番目の質問は "or"がうまくいかないと思っていたと思っていました。
デモガンの法則。 –
私たちは授業でそれを学んでいませんでした。私はPythonの初心者レベルのクラスです。 – alicew
宿題ですか?うまくいけば、それだけでタグ付けするべきです。 – Shep