我一直试图找出让用户输入指定键以输出其相应值的方法。事情是我不太确定我是否正确设置了我的字典。我必须定义一个带有附加文本文件的字典,在该文本文件中,每一行都有一个国家名称,空格和收入,看起来类似于这样的东西 - "卡塔尔$ 129,700"。
我的问题是,如何将其输入到我可以输入国家/地区名称的位置并让它输出正确的收入值?
当前代码:
import string
import re
import fileinput
infile = open("C:\\Users\\mrbal\\Desktop\\Homework
Assignments\\percapita.txt", "r")
dict1 = {}
for line in infile:
x = line.split(" ")
countryName = x[0]
income = x[1]
print(countryName, income)
print("##############################")
#country = input("Please enter the desired country: ")
首先,我是否正确设置了字典?
其次,在当前的设置中,当我运行程序时,它输出我的文件的内容,这是好的,但我仍然需要用户从字典输入一个国家,然后让它输出其值。我该怎么做呢?
答案 0 :(得分:1)
您可以在代码中改进一些内容:
您没有使用值初始化dict,请执行此操作。
您可以使用符合PEP的变量名称,例如country_name
而不是countryName
您打开文件但不要关闭它。使用with
来避免这种情况。
因此,代码变为:
import string
import re
import fileinput
with open("C:\\Users\\mrbal\\Desktop\\Homework Assignments\\percapita.txt", "r") as infile:
incomes = {}
for line in infile:
x = line.split(" ")
country_name, income = x[0], x[1]
print(country_name, income)
incomes[country_name] = income
print("##############################")
country = input("Please enter the desired country: ")
print(incomes.get(country, "No information found for country %s" % country))
如果您想向用户提供国家/地区列表,只需添加其他打印声明:
print("Options for country are: %s" % incomes.keys())