所以对于我的程序,我有两个定义,get_codes 和 get_data,我从中创建了 8 个列表,如下所示:
CountryCodes=open("CountryCodes.csv",'r')
CountryData=open("CountryData.csv", 'r')
def get_codes(file):
country_code=[]
country_name=[]
continent=[]
for line in CountryCodes:
c_fields=line.split(",")
c_field1=c_fields[0].strip()
c_field2=c_fields[1].strip()
c_field3=c_fields[2].strip()
country_code.append(c_field1)
country_name.append(c_field2)
continent.append(c_field3)
return country_code, country_name, continent
def get_data(file):
data_country_code=[]
country_pop=[]
country_area=[]
country_gdp=[]
country_lit_rate=[]
for line in CountryData:
d_fields=line.split(",")
d_field1=d_fields[0].strip()
d_field2=d_fields[1].strip()
d_field3=d_fields[2].strip()
d_field4=d_fields[3].strip()
d_field5=d_fields[4].strip()
data_country_code.append(d_field1)
country_pop.append(int(d_field2))
country_area.append(d_field3)
country_gdp.append(int(d_field4))
country_lit_rate.append(d_field5)
return data_country_code, country_pop, country_area, country_gdp, country_lit_rate
现在我要做的是创建一个菜单选项(我有菜单),它给 country_pop 提供升序,然后是降序。这是我到目前为止所拥有的:
def asc_sort():
for x in range (0,len(country_pop)):
country_pop2=sorted(country_pop)
我已经整理好了,但我的教授不仅想要打印 country_pop2。她还想要 CountryCodes 中的 country_name,而不是人口所在的 CountryData。所以 country_pop 的索引 x 也应该是 data_country_code 中的 x。然后我需要在data_country_code中输入x,假设它是AL,然后在country_code中找到它。接下来,我必须找到对应的 country_name,Albania,到 country_code,AL,并列出 country_name 和 country_pop,我假设它类似于:
print("%-10s \t %-10s \t" %("NAMES","POPULATION"))
for ind in range (0,len(list1)):
if ind%10==9:
input("Press ENTER to continue")
print("%-2s \t %-10s \t %-10s \t %-10s \t %-10s \t" %(I'd need help here)
(我需要 %-10s 部分用于格式化和 if 语句,因为我的列表很长,我一次只希望显示几个)任何帮助将不胜感激,如果有人需要更多解释,我会尽力而为!