Реализация программы На питоне
Не работает программа когда ввожу индентификатор (имя пользователя)
Ошибка
Traceback (most recent call last):
File "main.py", line 46, in <module>
ident=(chr(get_password(p)))
File "main.py", line 33, in get_password
q = identifier % 8
TypeError: not all arguments converted during string formatting
import random
import string
def get_password(identifier):
symbols_array = ['!', '"', "#", '$', '%', '&', "'", '(', ')', '*']
q = identifier % 8
password = ''
for i in range(2):
password += str(random.randint(0, 9))
for i in range(q + 1):
password += random.choice(string.ascii_uppercase)
for i in range(11 - len(password)):
password += random.choice(symbols_array)
return str(password)
p = 'ecgeny'
ident=(chr(get_password(p)))
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
q = identifier % 8
Поскольку в identifier у вас строка, это воспринимается как старый способ форматирования строки. В строке у вас нет никаких шаблонов форматирования, поэтому питон не понимает, как в эту строку разместить число 8 и выдаёт такую ошибку.
Могу лишь предположить, что вы хотели взять остаток от деления длины строки на 8, но не могу быть уверенным, поскольку ваш код в целом не очень понятен по смыслу:
q = len(identifier) % 8
Если поменять ещё и эту строку, то код хотя бы будет работать без ошибок:
ident=(chr(get_password(p)))
На вот эту:
print(get_password(p))