Вы уж меня простите, если длинновато получилось... Но главное же, что работает, не правда ли?
:)
Там скриншот прикрепил с выводом компилятора (один раз даже специально ошибся, чтобы можно было увидеть реакцию на неправильный ввод).
(Кстати, уже добавил текстовый файл с кодом. Просто копируйте весь текст и вставляйте куда нужно будет. Табуляция сработает автоматически):
forbidden_chars = '!"#$%&()*+,-./:;<=>?@[\]^_`{|}~'
#real_name
real_name = str(input("Your real name: "))
for chars in range(len(forbidden_chars)):
if (forbidden_chars[chars] in real_name):
rn = False
break
else:
rn = True
while (rn == False):
real_name = str(input("Line has forbidden chars. Try to write real name again: "))
for chars in range(len(forbidden_chars)):
if (forbidden_chars[chars] in real_name):
rn = False
break
else:
rn = True
#nick_name
nick_name = str(input("Your nick name: "))
for chars in range(len(forbidden_chars)):
if (forbidden_chars[chars] in nick_name):
nn = False
break
else:
nn = True
while (nn == False):
nick_name = str(input("Line has forbidden chars. Try to write nick name again: "))
for chars in range(len(forbidden_chars)):
if (forbidden_chars[chars] in nick_name):
nn = False
break
else:
nn = True
#password
password = str(input("Your password: "))
for chars in range(len(forbidden_chars)):
if ((forbidden_chars[chars] in password) or (len(password) < 5)):
ps = False
break
else:
ps = True
while ((ps == False) or (len(password) < 5)):
password = str(input("Line has forbidden chars or it is too short. Try to write password again: "))
for chars in range(len(forbidden_chars)):
if (forbidden_chars[chars] in password):
ps = False
break
else:
ps = True
#well_done
print("--------Well done!!!--------")
print("Your inputs:")
print("Real name: ",real_name)
print("Nick name: ",nick_name)
print("Password: ****",password[4:len(password)])