问题: 有一场马拉松比赛,你们有一份参赛者名单。(例如:[“杰克”、“迈克”、“约翰”) 参与者人数为1到100000之间的随机整数。 您还有完成马拉松的参与者列表。完成的参与者人数比参与者总数少1人。 可能有同名的参与者。 你必须建立一个函数来打印没有完成马拉松比赛的参与者
我的尝试:
def solution(participant, completion):
for i in completion:
if i in participant:
participant.remove(i)
answer = print ('"' + str(*participant) + '"')
return(answer)
例如,如果参与者=[“john”,“mike”],完成=[“john”], 预期的答案是“迈克” 我认为我尝试的代码没有问题。 如果有,你们能指出我错过的部分吗? 最重要的是,是否有一种更优雅的方式来构建此功能
两个可能的改进:第一,如果总是只有一个参与者没有完成
第二,如果n名参与者未完成:
如果使用集合,则可以简单地跟踪它们
见:
一个小提示: 也是你的
answer = print ('"' + str(*participant) + '"')
只适用于Python3,Python2会引发一个语法错误,因为print不会返回任何内容(Python3中没有的内容)相关问题 更多 >
编程相关推荐