Как мне распечатать положение каждого элемента в списке? - PullRequest
0 голосов
/ 06 ноября 2019

Я хотел бы, чтобы выбранные мной позиции были распечатаны. Я сделал это (с помощью отсюда), чтобы помочь мне. Этот код для меня, чтобы легко определить уровень награды. Люди говорят мне, на каком уровне они находятся, и я захожу на эти уровни один за другим, затем я добавляю баллы на их счета с помощью команды (> add-money ...). При написании награды, которую я даю, я хочу, чтобы можно было легко написать, с каких уровней выплачиваются награды (то есть с какой позиции в списке)

Как я могу сделать так, чтобы я мог напечатать каждую позицию всписок, который я использовал?

Мой список:

rewards = [0, 150, 225, 330, 500, 1000, 1500, 2250, 3400, 5000, 10000, 13000, 17000, 22000, 29000, 60000]
#          0   1    2    3    4     5    6      7     8     9     10    11      12      13    14     15

def rewardz():
    # Running totals.
    lists = []
    total = 0
    user=input('User -> ')

    while True:
        # Get reward level from the user.  If not a valid reward level, stop.
        level = input('-> ')
        try:
            level_num = int(level)
        except ValueError:
            break
        if level_num not in range(len(rewards)):
            break

        # Add the reward to the lists and the total.
        reward = rewards[level_num]
        lists.append(reward)
        total += reward

    # Final output.
    print(lists)
    print(total, total*1000)
    print()
    print(" + ".join(str(i) for i in lists))
    print('>add-money bank',user, total*1000)
    print("\n-----########------\n\n")
    rewardz()
rewardz()

Что (или что-то подобное) я хочу, чтобы результат был:

[2, 4, 7, 1, 4, etc]

1 Ответ

0 голосов
/ 06 ноября 2019

Поскольку вы просите пользователя ввести уровень, уровень уже сохранен в level_num. Если вы хотите вернуть его, вы можете сделать lists.append((reward, level_num)) или для более чистого решения использовать словарь.

lists = {"rewards": [],
         "level": []}

А затем, чтобы добавить к нему, вы можете сделать:

lists["rewards"].append(reward)
lists["index"].append(level_num)

Теперь в lists["index"] у вас есть список, который вы хотите использовать в качестве вывода, а в lists["rewards"] вы получаете свои значения.

В качестве альтернативы вы можете открыть новый список и добавить к нему также:

levels = []
levels.append(level_num) # In your while loop
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...