Не присваивается переменная в Python

Вот код:

# Генератор паролей
# Меньше 12 символов пароль слабый, ставьте больше

# Набор символов с похожими друг на друга(i,I,1,l,L):
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

# Набор символов без похожих друг на друга букв (по умолчанию):
# abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789

import random

default_type = '1'
default_col = 12
simbols_no_repeat = list('abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789')
simbols_repeat = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')

def input_type():
    type_pswrd_loc = input('\n\nКакой набор символов использовать,\nс похожими символами (i, L, l, 1) или без похожих?\n(без похожих - 1)\n(с похожими - 2)\n(Можете оставить по умолчанию, нажав ENTER)\n: ')
    return type_pswrd_loc
def input_col():
    col_pswrd_loc = input('\n\nКакой длины пароль сгенерировать?\n(Меньше 12 не рекомендую, можете оставить по умолчанию, нажав ENTER)\n: ')
    return col_pswrd_loc



type_pswrd = input_type()
if type_pswrd == '':
    type_pswrd = default_type
if type_pswrd == '1':
    simbols = simbols_no_repeat
if type_pswrd == '2':
    simbols = simbols_repeat
while type_pswrd != '1' and type_pswrd != '2':
    type_pswrd = input_type()

col_pswrd = input_col()
if col_pswrd == '':
    col_pswrd = default_col
while col_pswrd != int:
    try:
        col_pswrd = int(col_pswrd)
    except:
        col_pswrd = input('\n\nВы ввели не число! Какой длины пароль сгенерировать?\n(Меньше 12 не рекомендую, можете оставить по умолчанию, нажав ENTER)\n: ')


def buildpswrd(size):
    return ''.join(random.choice(simbols) for _ in range(size))

print(f'\n\nВаш пароль:\n{buildpswrd(col_pswrd)}')
input('Нажмите ENTER, чтобы выйти из программы: ')

Версия Python: 3.9.6

Такая проблема, переменной "col_pswrd" не присваивается значение из переменной "default_col". Все описывать не буду, в коде все видно. Подскажите пожалуйста, что делать, я в Python новенький!

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


Ответы (1 шт):

Автор решения: ПИТОНИСТ версия-3-8

Замените while col_pswrd != int: на while not col_pswrd.isdigit(): и всё сработает. Там и была ошибка.

→ Ссылка