#python
#python
Вопрос:
Этот код находится в начале, и когда я запускаю код, он ничего не делает и ничего не отображается, пожалуйста, помогите?
users = {}
status = ""
def register():
username = input("Please input the first 2 letters of your first name and your birth year ")
password = input("Please input your desired password ")
file = open("accountfile.txt","a")
file.write(username)
file.write(" ")
file.write(password)
file.write("n")
file.close()
if login():
print("You are now logged in...")
else:
print("You aren't logged in!")
def login():
username = input("Please enter your username")
password = input("Please enter your password")
for line in open("accountfile.txt","r").readlines():
login_info = line.split()
if username == login_info[0] and password == login_info[1]:
print("Correct credentials!")
return True
print("Incorrect credentials.")
return False
Я ожидаю, что результатом будет система входа в систему, которая затем приведет к тестированию, но когда я запускаю ее, все, что я получаю, это пустое пространство
Комментарии:
1. Вы не вызываете какую-либо функцию. Если только вы не делитесь всем своим кодом.
Ответ №1:
Все, что вы делаете, это создаете пару переменных и объявляете некоторые функции.
Ни одна из этих вещей не приведет к какому-либо выводу. Если вы хотите, чтобы функции выполнялись, вам действительно нужно будет вызывать их откуда-нибудь, например, поставив register()
или login()
(без отступа) после определений функций.
Ответ №2:
Вы определили функции, но не вызвали ни одну из них, вы должны вызвать одну или обе в конце вашего скрипта, например :
def login():
username = input("Please enter your username")
password = input("Please enter your password")
for line in open("accountfile.txt","r").readlines():
login_info = line.split()
if username == login_info[0] and password == login_info[1]:
print("Correct credentials!")
return True
print("Incorrect credentials.")
return False
login()
Комментарии:
1. Хххххххх это не имеет значения, я просто показываю ему, что проблема в том, что он не вызывает функцию: p
2. Читаемость имеет совсем небольшое значение. Вы здесь пишете код не для себя.
3. Изменение
input
наraw_input
— это неправильная вещь, которую нужно делать, если это выполняется под Python 3 (что вы должны все чаще предполагать, если не указано иное).