Python如何从txt文件中查询并输出中西部地区人口最高的州
你可以先逐行读取文件,先过滤出所有属于Midwest地区的条目,再从中找出人口最高的那条即可,修正后的代码如下:
# 读取文件内容,逐行拆分并过滤Midwest地区的条目 midwest_states = [] with open('States.txt', 'r') as f: for line in f: # 跳过空行 line = line.strip() if not line: continue state, region, pop = line.split() if region == 'Midwest': # 把人口转成整数方便比较,存成(人口数, 州名)的元组 midwest_states.append( (int(pop), state) ) # 找人口最大的条目 max_pop, max_state = max(midwest_states) print(f"Highest population state in the Midwest is: {max_state} {max_pop}")
你之前的写法是直接把所有行转成列,没有区分不同行的所属地区,自然没法加过滤条件。改成先逐行判断地区,只保留Midwest的条目再求最大值,就能满足需求了。
内容的提问来源于stack exchange,提问作者Amy
相关产品推荐
相关产品推荐

