我希望打印出我选择的职位。我做了这个(在这里的帮助下)来帮助我。这段代码对我来说很容易得出等级奖励。人们告诉我他们所在的级别,然后我一步一步地输入这些级别,然后我将使用命令(> 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]
答案 0 :(得分:0)
由于您要求用户输入级别,因此您已经将级别保存在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