Пользователь вводит строку. Ваша задача - проверить, может ли эта строка, быть именем переменной. Переменная не может начинаться с цифры, состоять только из цифр, не может содержать заглавные буквы и знаки пунктуации, кроме нижнего подчеркивания "_" . Также, она не может быть ни одним из зарегистрированных слов. При этом имя переменной, может состоять только из одного нижнего подчеркивания "_" .
Зарегистрированные слова можно взять из keyword.kwlist.
В итоге проверки, на печать выводится True, если такое имя переменной допустимо, и False - в противном случае.
Примеры имен переменных и результат (=> на печать выводить не нужно :))
_ => True
x => True
get_value => True
Get_value => False
get_Value => False
getValue => False
3m => False
from ast import parse
def is_valid_variable(var):
try:
parse('{} = None'.format(var))
return True
except SyntaxError or ValueError or TypeError:
return False