输入文件由 3 个字段组成,以“|”分隔 如下:
TeamId|TeamName|TotalPlayers
Run Code Online (Sandbox Code Playgroud)
TeamId 由唯一编号组成。TeamName 由几支英超足球队和 TotalPlayers 字段中相应的球员数组成。
其中2条记录如下:(这些记录属于可见测试用例之一)
103|Manchester United|12
105|Manchester City|13
Run Code Online (Sandbox Code Playgroud)
代码要求:
我必须输出以曼彻斯特开头并拥有最多玩家数量的 TeamName。如果没有球队以曼彻斯特开始,那么它不应该是任何输出。即在上面的测试案例中,输出应该是曼城。
我的解决方案:
awk 'BEGIN{FS = "|";OFS = ",";}{if($2 ~ /^Manchester/){print $2, $3}}' | sort -n -k2 | awk -F , '(NR==1){print $1}'
Run Code Online (Sandbox Code Playgroud)
这提供了正常测试用例的预期输出,但隐藏的测试用例失败了。我可以对此进行哪些更改或任何其他更简单的方法来实现相同的...
还推荐任何我可以通过解决来练习此类 Unix 编码问题的网站。
a = 6
item_list = [1,2,3,4,5]
for items in item_list:
if items == a:
print("match found")
else:
print ("no match")
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我希望在完成所有迭代后只打印一次“不匹配”;不是每次迭代。如何修改代码?