如何打印列表中每个项目的位置?

我希望打印出我选择的职位。我做了这个(在这里的帮助下)来帮助我。这段代码对我来说很容易得出等级奖励。人们告诉我他们所在的级别,然后我一步一步地输入这些级别,然后我将使用命令(> 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,etc]
chenga1972 回答:如何打印列表中每个项目的位置?

由于您要求用户输入级别,因此您已经将级别保存在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
本文链接:https://www.f2er.com/3149148.html

大家都在问