Python 如何计算一支足球队';在给定的赛季中,s的总积分是多少?
我实际上是在试图理解我在计算中是否遵循了正确的路径。 因此,有一支球队,如雷森足球俱乐部,在34周的赛季中取得如下成绩Python 如何计算一支足球队';在给定的赛季中,s的总积分是多少?,python,numbers,points,Python,Numbers,Points,我实际上是在试图理解我在计算中是否遵循了正确的路径。 因此,有一支球队,如雷森足球俱乐部,在34周的赛季中取得如下成绩 "3,1,1,1,0,0,3,1,1,3,3,0,0,1,3,1,3,3,1,1,0,0,0,0,3,1,1,1,0,3,3,0,1,1" 这些数字不一定指定为团队收到的分数,而是代表 胜=3,平=1,负=0 如果每赢一场得3分,每平一场得1分,输一场什么也得不到,那么我对这支球队截至第34周结束的整个赛季记录的计算是: results = [3,1,1,
"3,1,1,1,0,0,3,1,1,3,3,0,0,1,3,1,3,3,1,1,0,0,0,0,3,1,1,1,0,3,3,0,1,1"
这些数字不一定指定为团队收到的分数,而是代表
胜=3,平=1,负=0
如果每赢一场得3分,每平一场得1分,输一场什么也得不到,那么我对这支球队截至第34周结束的整个赛季记录的计算是:
results = [3,1,1,1,0,0,3,1,1,3,3,0,0,1,3,1,3,3,1,1,0,0,0,0,3,1,1,1,0,3,3,0,1,1]
print(sum(results))
它给出了44个点的输出
如果球队在34周结束时得分不到40分,他们本应降级
在这一点上,我有几个问题:
"3,1,1,1,0,0,3,1,1,3,3,0,0,1,3,1,3,3,1,1,0,0,0,0,3,1,1,1,0,3,3,0,1,1"
每场胜利(3)得5分
每次抽签(1)得2分
每次损失(0)等于1分
我怎么能计算出球队的季末记录呢?我是否可以使用一个函数来接收结果作为输入,并对任何与格式匹配的输入执行此操作
注:这是我的第一个问题。所以如果你能在取消我之前考虑这个问题,我会很感激的:
谢谢大家。通过调用
split(“,”
),您只需将逗号分隔的字符串
转换为列表
,即可将字符串按逗号分割
mystring = "3,1,1,1,0,0,3,1,1,3,3,0,0,1,3,1,3,3,1,1,0,0,0,0,3,1,1,1,0,3,3,0,1,1"
mylist = mystring.split(",")
#['3', '1', '1', '1', '0', '0', '3', '1', '1', '3', '3', '0', '0', '1', '3', '1', '3', '3', '1', '1', '0', '0', '0', '0', '3', '1', '1', '1', '0', '3', '3', '0', '1', '1']
要更改胜利、平局和失败的点数,您可能需要创建一个dict
winpoints, drawpoints, losepoints = 5,2,0
scoredict = {3:winpoints, 1:drawpoints, 0:losepoints}
然后,您可以生成一个新的点列表并计算总和
newsum = sum([scoredict[int(v)] for v in mylist])
#78
在常规的for
循环中,它将如下所示
newlist = []
for v in mylist:
newlist.append(scoredict[int(v)])
newsum = sum(newlist)
另请参见上的堆栈溢出指南。简单地把作业扔到这里是不可接受的。仅供参考:这不是家庭作业;你可以忽略对学校政策的评论。但是,关于学习进步的其他原则仍然适用。非常感谢米奇。我得到了理想的输出。我想看看是否可以将您的newsum转换为纯for循环,但就是无法实现。这是我的尝试;我得到了列表中的最后一个值,而不是sums:
在mylist:newsum=sum(scoredict[int(v)])print(newsum)
我是一个新手,正在试图弄清楚为什么这个转换不起作用。如果你能给我一个线索,我将不胜感激。再次感谢,先生。我在更新的答案中加入了一个常规的for循环。看看发生了什么,试着弄清楚列表理解是如何工作的;它们非常有用,最重要的是比常规for循环快得多。如果这个答案对你有帮助,你可以接受我的答案。如果可以的话,我会尽我所能,但我是个新手。网站不让我。非常感谢你!