как надо было?
ну вот если тупо не думать, а переделать твою функцию то что то типа
import random
import string
SPECIAL_CHARACTERS = "!@#$%^&*()_'\\|?.,"
def password_generation(adding_digits, adding_letters, adding_special_characters, user_password_length):
if not any((adding_digits, adding_letters, adding_special_characters)):
raise Exception("Ebanoe dniswe")
symbols = string.digits * adding_digits + string.ascii_letters * adding_letters \
+ SPECIAL_CHARACTERS * adding_special_characters
user_password_length = max(min(user_password_length, 30), 6)
return ''.join(random.choices(symbols, k=user_password_length))
print(password_generation(True, True, True, 20))