计算变量之和

时间:2018-04-11 05:22:49

标签: python list variables sum

我想知道你在编码中为每项运动提供的总得分是什么。

请注意,我之前曾要求他们以不同的功能进入州。

STATES = ["California", "New Mexico", "Ohio", "Maryland"]   
SPORTS = ["Football", "Baseball", "Basketball"]

def results(any_state):   
 SCORE = []   
 STATES.remove("{}" .format(any_state.title()))  
 for i in range(len(STATES)):  
  for j in range(len(SPORTS)):   
   scores = int(raw_input("What do you score {} in {}?".format(SPORTS[j], STATES[i])))
   SCORE.append(STATES[i])  
   SCORE.append(scores)   
   return(SCORE)

如果输入加州,我希望它最终打印出来。

你在新墨西哥州的足球得分是什么?

你在俄亥俄州得到什么足球?

你在马里兰州的足球得分是什么?

你总共得到足球____。

你在新墨西哥队的比赛得分是什么?

你在俄亥俄州得到什么棒球?

你在马里兰州的棒球比赛中获得了什么?

你总共得到了棒球____。

你在新墨西哥州打什么球?

你在俄亥俄州打什么球?

你在马里兰州得到什么篮球?

你总共得到篮球____。

2 个答案:

答案 0 :(得分:0)

您可以使用:

sum(scores)

只要scores是一个列表(或可迭代的)

但是你创建和使用SCORES的方式非常奇怪。创建一个dict会容易得多:

def results(any_state):   
 SCORE = {}
 for i in range(len(STATES)):  
   for j in range(len(SPORTS)):   
     scores = int(raw_input("What do you score {} in {}?".format(SPORTS[j], STATES[i])))
     SCORE[STATES[i]) = scores

返回(SCORE)

然后您可以使用:

sum(SCORE.values())

答案 1 :(得分:0)

STATES = ["California", "New Mexico", "Ohio", "Maryland"]
SPORTS = ["Football", "Baseball", "Basketball"]

def results(state):
    for i in SPORTS:  # iterate for sports so that you can maintain your order of question by sports
        temp_scores = []   # construct a temporary list to create score
        for j in STATES:  #  iterate over states
            if j.lower() != state.lower():  # execute code only if iterated state is not same as state passed as function argument (case-insensitive match if you use .lower())
                scores = int(raw_input("What do you score {} in {}?".format(i, j)))
                temp_scores.append(scores)   # append scores
        print("You scored {} a total of {}".format(i, sum(temp_scores)))   # print score

results(STATES[0])  # call function with state