我想知道你在编码中为每项运动提供的总得分是什么。
请注意,我之前曾要求他们以不同的功能进入州。
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)
如果输入加州,我希望它最终打印出来。
你在新墨西哥州的足球得分是什么?
你在俄亥俄州得到什么足球?
你在马里兰州的足球得分是什么?
你总共得到足球____。
你在新墨西哥队的比赛得分是什么?
你在俄亥俄州得到什么棒球?
你在马里兰州的棒球比赛中获得了什么?
你总共得到了棒球____。
你在新墨西哥州打什么球?
你在俄亥俄州打什么球?
你在马里兰州得到什么篮球?
你总共得到篮球____。
答案 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