-2
以下のコードは、希望するユーザー名を尋ねてそれを作成しようとしています。この `if`ブロックはなぜ実行されないのですか
ユーザー名が既に取得されたときにユーザーに伝えたいと思います。それは動作します。
しかし、まだ存在しないユーザー名が入力されたときは、if a != 1:
ブロックのすべてを実行したいが、それは起こらない。何故ですか?私は、変数a
の範囲はここでの問題だと思う
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」を含むテキストファイルを作成するよりも、取得したユーザー名を永続的に記録する方が簡単です。直列化のためには、 'pickle'や' json'や 'shelve'や本格的なデータベースの使用を検討してください。 – Kevin