@TanderOFF

Как присвоить значение и выбрать его в JSON?

Доброго дня всем , пытаюсь создать инвентарь , и команду использование предмета из этого инвентаря .

Инвентарь выглядит так:
{
    "Items128": 7,
    "Item29": 3,
    "Item32": 17,
    "Item45": 0,
    "Item93": 4
}

Есть пользовательский ввод (номер предмета)

Как выбрать номер строки из json этим пользовательским номером

for row in cursor.execute(f"SELECT invent FROM inv where id={ctx.author.id}"):
                data=json.loads(row[0])
                num =...

Что-бы получилось примерно так:
client: 2
bot: Вы выбрали предмет: Item29
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Как-то так, например:
import json
data = '''{
    "Items128": 7,
    "Item29": 3,
    "Item32": 17,
    "Item45": 0,
    "Item93": 4
}'''
items_dict = json.loads(data)
item_numbers = dict((number, key) for number, key in enumerate(items_dict.keys()))

while True:
    for number, item in item_numbers.items():
        print(f'item {number} - {item}')
    my_number = input('выбери номер:')
    try:
        my_number = int(my_number)
        if my_number in item_numbers.keys():
            print(f'{item_numbers[my_number]}: {items_dict[item_numbers[my_number]]}')
        else:
            print('--- нет такого номера ---')
    except ValueError:
        print(f'--- "{my_number}" - это не номер! ---')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы