所以,我一直在編寫一個Python的'計算機軟件',其中你基本上有一個可以編輯的登錄用戶名和密碼。我試圖添加一個功能,允許您「刪除」密碼(但更像是跳過它),但它不起作用。下面是跳過程序代碼:布爾如果Python中的語句
def Access1():
print("Input first name")
print("")
answer = raw_input()
if(answer.lower() == username and PasswordSkip == True):
print("")
print("Access granted")
List1()
if(answer.lower() == username and PasswordSkip == False):
print("")
print("Access granted")
Access2()
*注意Access2()
又是需要密碼才能繼續功能,並List1()
是系統的主菜單。
這裏就是布爾值被設置爲True
:
def PasswordRemove():
print("")
print("Are you sure you want to remove your password, <yes> or <no>?")
print("")
key = raw_input()
if(key.lower() == "yes"):
PasswordSkip = True
print("")
print("Ok, your password has been removed.")
print("")
List1()
elif(key.lower() == "no"):
DetailsChange()
else:
DetailsChange()
這裏是我如何定義和全球化PasswordSkip
:
PasswordSkip = False
def Startup():
global PasswordSkip
(功能那張長,但有沒有參與)
如果您需要更多關於我的代碼的信息,我可以將它提供給您。
所以,當我運行我的代碼時,忽略了關於布爾值的if語句。如果布爾值爲True
,它應該轉到不同的功能。然而,它跳過了這個陳述,因爲它帶來了Access2()
(密碼功能)。
答案不是急需,但謝謝。
'global'語句設置名稱的範圍*每個函數*。 'Startup'中的'Global PasswordSkip'不會改變不同函數中的名稱範圍。 –
順便說一句,你確定你想授予訪問權限在任何情況下'PasswordSkip == True'和'PasswordSkip == False'? – Pynchia