本地小學有以下形式的圖書證ID:ID以「s」開頭(對於「學生」),長度只有6個字符,包括「s」;或者他們以「t」開頭(對於「老師」)並且沒有長度要求。下面的函數應該得到一個有效的ID,但它缺少它的條件。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")
這種情況會使功能正常工作嗎?
not((s[0] == "s" and len(s) == 6) or (s[0] == "t"))
我不知道爲什麼對1的答案是否定的和2個是肯定的。我認爲第一個問題會起作用,因爲它是全部「和」,第二個問題我認爲「或」不會使它工作..有人可以向我解釋這個嗎?
德摩根定律。 – 2012-04-23 04:50:59
我們沒有在課堂上學習。我在python的初級班級。作業是否是 – alicew 2012-04-23 05:02:15
?這很好,如果是這樣,我們應該這樣標記它。 – Shep 2012-04-23 05:07:31