Уведомления

Группа в Telegram: @pythonsu

#1 Июль 19, 2017 16:14:40

Cestuh
Зарегистрирован: 2017-07-11
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод лишнего текста на экран

Всем привет!

Есть такой код:

 e_mail = input("\nВведите ваш e-mail: ") #Запрашиваем e-mail
login = input("\nПридумайте логин: ") #Запрашиваем логин
password = input("\nПридумайте пароль: ") #Запрашиваем пароль
password_2 = input("\nПовторите пароль: ") #Просим ввести пароль ещё раз
def check_password(password_2, password):
	"""Проверка повторно введённого пароля"""
	
	if password_2 != password:
		print("\nОшибка, Вы ввели разные пароли!")
		exit()
	else: 
		print("\nПоздравляем, регистрация заверешена успешно!")
		
check_password(password_2, password) #Вызываем функцию проверки повторного пароля
	
account = {
	1 : e_mail,
	2 : login,
	3 : password
} #В этом словаре хранятся данные пользователя введённые при регистрации
entry_l = input("\nВведите Ваш логин: ") #Запрашиваем логин при входе
entry_p = input("\nВведите Ваш пароль: ") #Запрашиваем пароль при входе
def check_entry(entry_l, entry_p):
	"""Проверка правильности ввода логина и пароля"""
	
	if entry_l != account[2]:
		print("\nНеверно введён логин!")
		exit()
		
	if entry_p != account[3]:
		print("\nПароль введён неверно!")
		exit()
	
	else:
		print("\nВход выполнен успешно!")
check_entry(entry_l, entry_p) #Вызываем функцию проверки ввода логина и пароля
question = input("\nЧто вы хотите проверить: \"e-mail, логин, пароль\"?: ") #Спрашиваем у пользователя, какие данные указанные при регистрации он хочет получить
print("\n")
def func_condition(question):
	"""Функция возвращает из словаря "account" пользователю его e-mail, пароль или логин,
	в зависимости от того, что он выбрал. Если пользователь ввёл что-то другое (либо не ввёл ничего), возвращается None"""
	
	if question == "e-mail":
		print(account[1])
	
	if question == "логин":
		print(account[2])
		
	if question == "пароль":
		print(account[3])
	
	else:
		print(None)
func_condition(question) #Вызываем функцию которая возвращает запрошенные пользователем данные

Проблема в том, что если пользователь в переменную “question” вводит корректный ответ (то есть: “e-mai, логин или пароль”), то на экран также выводится и “None”, знаю в чём проблема, но как исправить не знаю. Бьюсь над этим пустяком уже час. Не смейтесь, новичок всё-таки

Заранее спасибо!

Отредактировано Cestuh (Июль 19, 2017 16:15:15)

Офлайн

#2 Июль 19, 2017 16:28:06

krok64
Зарегистрирован: 2017-04-04
Сообщения: 75
Репутация: +  11  -
Профиль   Отправить e-mail  

Вывод лишнего текста на экран

 	if question == "e-mail":
		print(account[1])
	
	elif question == "логин":
		print(account[2])
		
	elif question == "пароль":
		print(account[3])
	
	else:
		print(None)

Офлайн

#3 Июль 19, 2017 16:28:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вывод лишнего текста на экран

 	else:
		print(None)

как же сделать так, чтобы None не печатался???? Вот это озадачил!!! Тут надо долго думать.



Офлайн

#4 Июль 19, 2017 17:14:45

Cestuh
Зарегистрирован: 2017-07-11
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод лишнего текста на экран

krok64
Спасибо, помогло.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version