【发布时间】:2018-05-05 08:12:08
【问题描述】:
我试图弄清楚如何根据列表中剩余的项目数将数字分配给列表中的某个点。
例如:
def prizeHandout(prizeWinners):
for x in range(len(prizeWinners)):
if len(prizeWinners) == 24:
prizeWinners[x][2] = (int(prize[0]))
elif len(prizeWinners) == 12:
prizeWinners[x][2] = (int(prize[1]))
elif len(prizeWinners) == 6:
prizeWinners[x][2] = (int(prize[2]))
print(prizeWinners)
我有一个全局变量 'prize',它是一个包含奖品的列表 [10, 20, 30,....]
'prizeWinners' 位于此格式的列表列表中[[ab, 2, 0], [ba, 5, 0], [aa, 12, 0], .....]
在 'prizeWinners' 变量中,'prize' 的赋值应该添加到当前空间 [2] 并添加到前一个数字(如果有的话)。
似乎无法正常工作。
任何帮助将不胜感激,谢谢:)
def prizesFunction():
with open('prizes.csv', 'r') as f:
reader = csv.reader(f)
prizePoints = list(reader)
first= [i[1] for i in prizePoints]
second = [i[0] for i in prizePoints]
third = [i[2] for i in prizePoints]
fourth = [i[3] for i in prizePoints]
choice = input('Enter your choice [0-4] : ')
choice = int(choice)
global prize
if choice == 1:
prize = first
return prize
elif choice == 2:
prize =second
return prize
elif choice == 3:
prize = third
return prize
elif choice == 4:
prize = fourth
return prize
【问题讨论】:
-
你试过什么?会发生什么,您会期待什么?
-
嗨,先生Carnivore,我希望第一个输出是 [[ab, 2, 10], [ba, 5, 10], .....] 目前我是出现错误 'TypeError: 'str' object does not support item assignment' 并尝试更改变量的类型,但由于它们是列表,我不确定要尝试将它们更改为什么。
-
请向我们展示导致问题的确切代码(仅相关部分!)以及问题中的确切错误消息(您可以编辑它!)
-
如果有帮助的话,我刚刚上传了一些!
标签: python arrays list loops if-statement