Как правильно организовать условие в списке?

В прошлой теме:

try:
    connection = MySQLConnection.connection()
    if connection.is_connected():
        cursor = connection.cursor()
        cursor.execute("SELECT CatName FROM mydb.categories")
        List = cursor.fetchall()
        row = cursor.rowcount
        connection.close()
        print(List)
except Error as e:
    print(e)

Мне подсказали как сделать правильный вывод списка:

['Food', 'Cars', 'Animals']

Далее, хочу чтобы при вводе значения оно сравнивалось с этим списком. Но в данном коде не пойму почему он не работает:

ListCategory()
    CatName = str(input())
    
    if CatName in str(ListCategory()):
        print("Такой категории нет")
    else:
        print("Введите стоимость:")
        Price = int(input())
        print("Введите дату покупки: гггг-мм-дд")
        iDate = str(input())
        Date = DT.datetime.strptime(iDate, '%Y-%m-%d').date()

Как правильно сравнить значение, чтобы если оно совпадает, то код идет дальше, если нет - то ввод повторно?


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

Автор решения: MaxU

Если я правильно понял вопрос:

cursor.execute("SELECT CatName FROM mydb.categories")
categories = [row[0] for row in cursor.fetchall()]
CatName = input()

if CatName.capitalize() in categories:
    ...
→ Ссылка