-2
下面的一段代碼打算詢問所需的用戶名,然後創建它。爲什麼這個'if'塊沒有執行
我想告訴用戶用戶名已被佔用。這樣可行。
但是,無論何時輸入用戶名還不存在,我都希望所有的if a != 1:
塊都能夠執行,但這不會發生。這是爲什麼?
這裏是我已經縮小到發生問題的代碼片段:
UsernameRequest = input("What would you like your username to be set? ")
fname = UsernameRequest + ".txt"
try:
f2 = open(fname, 'r')
a = f2.readline(1)
if a == "a":
print ("This username is already taken!")
f2.close()
a = 1
except:
b = 1
if a != 1:
f = open(fname, 'w')
PasswordRequest = input("What would you like your password to be? ")
f.write("abcde" + '\n')
f.write(UsernameRequest)
f.write('\n' + PasswordRequest)
f.close()
print ("User created! Welcome to SterlOS!")
Login()
break
我從來沒有見過以'elif'開頭的程序。 –
在嘗試之前做'a = 0' – Carlos
有一個簡單的方法可以保留一個持久的用戶名記錄,而不是每個包含字母「a」的文本文件。對於serilialization,請考慮使用'pickle'或'json'或'shelve'或一個完整的數據庫。 – Kevin