我正在尝试完成这个问题。我不知道我要去哪里错了。
输入的第一行是一个数字,表示有多少对 单词将跟随(每对在单独的行中)。这对是 表格COUNTRY CITY,指定城市位于哪个国家/地区。的 最后一行是城市的名称。打印城市数量 与这个城市位于同一国家。
提示。使用字典。
例如,在输入时:
6
UK London
US Boston
UK Manchester
UK Leeds
US Dallas
Russia Moscow
Manchester
输出必须是: 3
from collections import defaultdict
n=input()
d=defaultdict(list)
city=' '
for i in range(0,int(n)):
kv=input().split()
d[kv[0]].append(kv[1])
for k1,v1 in d.items():
if v1==city:
print(len(k1))
答案 0 :(得分:1)
您错过了城市的输入 而且您需要检查城市是否在列表中,然后才算有多少
from collections import defaultdict
n=input()
d=defaultdict(list)
city=' '
for i in range(0,int(n)):
kv=input().split()
d[kv[0]].append(kv[1])
city = input('Enter a city')
for k1,v1 in d.items():
if city in v1:
print(len(v1))
答案 1 :(得分:0)
就像提到的其他人一样,您也需要为查询城市输入信息。另外,您可以采用不同的方法-不需要defaultdict
。由于您的查询是一个城市,因此让我们将其存储为字典中的关键字,其值为国家/地区。然后,我们可以找到需要到达的国家。之后,只需要在字典中计算该国家/地区的值即可。
n = input()
city_to_country = {}
for i in range(0, int(n)):
kv = input().split()
city_to_country[kv[1].rstrip()] = kv[0]
query_city = input()
target_country = city_to_country[query_city]
print(list(city_to_country.values()).count(target_country))