arg = sys.argv
# Вам нужно получить первый после нулевого элемент, если он есть,
# а если его нет, то взять значение из настроек, или что-то по умолчанию:
conf = {'cfg': 'config.ini'}
param = arg[1:] and arg[1] or conf and conf.get('cfg') or 'default.ini'
not (crit1 & crit2 & crit3)not (crit1 and crit2 and crit3)crit1 or crit2 or crit3
crits = [
lambda password: len(password) >= 8,
lambda password: sum(s.isnumeric() for s in password) >=3,
lambda password: sum(s.isupper() for s in password) >=1,
]
while True:
password = input('Придумайте пароль: ')
if not all(crit(password) for crit in crits):
print('Вы ввели не надежный пароль')
else:
print('Пароль надежный')
breakcrits = [
((lambda password: len(password) >= 8), '- слишком короткий'),
((lambda password: sum(s.isnumeric() for s in password) >=3), '- должно быть >2 цифр'),
((lambda password: sum(s.isupper() for s in password) >=1), '- должно быть >1 символа в верхнем регистре'),
]
while True:
password = input('Придумайте пароль: ')
problems = [comment for crit, comment in crits if not crit(password)]
if problems:
print('Вы ввели не надежный пароль:')
print('\n'.join(problems))
else:
print('Пароль надежный')
break
a() and b()
если ввести 8 цифр, выпадает в "пароль надежный"
Но я это делал для того чтоб понять саму тему методов и объектов.
методом тыка устранить дым из выхлопной трубы машины
Никакие ключи не хранятся ни на каких среверах телеграмма. Всё это хранится в памяти и БД бота, то есть в полном доступе у владельца бота. Телега ни при чем.
Представьте нелегального менялу на рынке, который трётся там и предлагает поменять денюшку. Вы ему суёте купюру, он вам суёт другую меняя по своему курсу. Обычно он даже не обманывает, ведь если он каждого будет обманывать, то каждый будет орать, суетиться, портить ему "прикормку" и репутцию.
Но никакой гарантии, что он не испарится с вашей купюрой, или что не всучит фальшивую, а потом тоже испарится... Или лёгким движением напёрсточника облопошит, а вы и сами запутаетесь что и как вы там наменяли.