-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhardpass - 3.py
89 lines (76 loc) · 2.81 KB
/
hardpass - 3.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
'''
Напишите программу "Пароль", которая принимает строку и проверяет сложность придуманного пароля. Оценка сложности пароля
выдается после проверки ряда условий:
* пароль не пустой - присвоить 1 балл,
* длина не менее 8 символов - присвоить 1 балл,
* наличие больших/маленьких букв - присвоить 1 балл,
* наличие цифр - присвоить 1 балл,
* наличие специальных символов - присвоить 1 балл.
'''
alf = 'абвгдежзийклмнопрстуфхцчшщъыьэюabcdefghijklmnoprstuvwxyАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮABCDEFGHIJKLMNOPRSTUVWXY ,:/\|+=_'
num = '1234567890'
spec = './,!@#$%^&*_-+=|}{[]~`'
def non(psw, cnt):
if psw != '':
cnt += 1
return cnt
def dlina(psw, cnt):
if len(psw) >= 8:
cnt += 1
return cnt
def upper(psw, cnt):
if psw.lower() != psw: # Проверка на верхний регистр
cnt += 1
return cnt
def lower(psw, cnt):
if psw.upper() != psw:
cnt += 1
return cnt
def nm(psw, cnt):
for i in num:
if i in psw:
cnt += 1
break
return cnt
def special(psw, cnt):
for i in spec:
if i in psw:
cnt += 1
break
return cnt
def pr():
print('---------------------------------------------------')
psw = input('Введите пароль: ')
cnt = 0
if ' ' in psw:
print('Ошибка в вводе.')
main()
else:
sm = (non(psw, cnt) + dlina(psw, cnt) + upper(psw, cnt) + lower(psw, cnt) + nm(psw, cnt) + special(psw, cnt))
print('Сложность пароля:', sm)
main()
def main():
print('---------------------------------------------------\n'
'Действие:\n'
'1 - Посчитать сложность пароля\n'
'Q - Выход из программы\n')
ans = input('Введите действие: ')
if ans != '':
for k in ans:
if k in alf:
print('Ошибка! Неправильный ввод.')
main()
break
if ans == 'q' or ans == 'Q':
print('---------------------------------------------------')
print('Был произведен выход из программы.')
exit(0)
elif int(ans) == 1:
pr()
else:
print('Ошибка! Неправильный ввод.')
main()
else:
print('Ошибка! Неправильный ввод.')
main()
main()