-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