试图让用户选择他们想要使用的操作,然后运行相应的程序

2024-04-26 11:51:17 发布

您现在位置:Python中文网/ 问答频道 /正文

试图让用户选择他们想要使用的操作,然后运行相应的程序。不明白这里有什么问题

这是我的密码

from collections import Counter
print (30 * '-')
print ("   M A I N - M E N U")
print (30 * '-')
print ("Program 1.Total Populations of the different continents")
print ("Program 2.Percentage Change(%) for different countries")
print (30 * '-')

Input1=1
Input2=2

## Get input ###
choice = int(input('Enter your choice [1-2] : '))

### Take action as per selected menu-option ###
while choice==1 or choice==2:
    if (choice == 1):
        counter1 = Counter()
    with open('a.txt') as f:
        for i in range(0,2):
            next(f)
        for line in f:
            splits = line.split(';')
            population = int(splits[3])
            continent = splits[-1].strip()
            counter1[continent] += population
# Print continents sorted by population
    for continent, pop_sum in counter1.most_common():
       print(continent, ":", pop_sum)

    else:
        counter2 = Counter()
    with open("a.txt") as f:
        for i in range(0,2):
            next(f)
        for line in f:
            splits = line.split(';')
            change = float(splits[6])
            country = splits[1].strip()
            counter2[country] += change      
    #Percentage Change By Countries"
    print()
    print ("Percentage Change By Countries")
    for country, change_sum in counter2.most_common():
        print(country, change_sum,"%")






样本数据 联合国2019年世界人口数据 等级国家;2018; 2019; % 分享;Pop更改;%改变大陆 1.中国1427647786; 1433783686; 18.6; 6135900; 0.43; 亚洲 2.印度;1352642280; 1366417754; 17.7; 13775474; 1.02; 亚洲 3.美利坚合众国;327096265; 329064917; 4.27; 1968652; 0.60; 北美 4.印度尼西亚267670543; 270625568; 3.51; 2955025; 1.10; 亚洲 5.巴基斯坦;212228286; 216565318; 2.81; 4337032; 2.04; 亚洲 6.巴西;209469323; 211049527; 2.74; 1580204; 0.75; 南美洲 7.尼日利亚;195874683; 200963599; 2.61; 5088916; 2.60; 非洲 8.孟加拉国;161376708; 163046161; 2.11; 1669453; 1.03; 亚洲 9; 俄罗斯联邦;145734038; 145872256; 1.89; 138218; 0.09; 欧洲 10; 墨西哥126190788; 127575529; 1.65; 1384741; 1.10; 北美


Tags: inforaslinecounterchangecountrysum
1条回答
网友
1楼 · 发布于 2024-04-26 11:51:17

首先,我不太明白你想要什么,但我纠正了你的缩进问题

from collections import Counter

print (30 * '-')
print ("   M A I N - M E N U")
print (30 * '-')
print ("1.Total Populations of the different continents")
print ("2.Percentage Change(%) for different countries")
print (30 * '-')

## Get input ###
choice = int(input('Enter your choice [1-2] : '))

### Take action as per selected menu-option ###

#1st Operation
print ("Continents Sorted By Population")
while choice==1 or choice==2:
    if (choice == 1):
        counter1 = Counter()
        with open('a.txt') as f:
            for i in range(0,2):
                next(f)
            for line in f:
                splits = line.split(';')
                population = int(splits[3])
                continent = splits[-1].strip()
                counter1[continent] += population
        # Print continents sorted by population
        for continent, pop_sum in counter1.most_common():
             print(continent, ":", pop_sum)

#2nd operation
#Percentage Change By Countries
    elif choice==2:
        counter2 = Counter()
        with open("a.txt") as f:
            for i in range(0,2):
                next(f)
            for line in f:
                splits = line.split(';')
                change = float(splits[6])
                country = splits[1].strip()
                counter2[country] += change
print()

print ("Percentage Change By Countries")
for country, change_sum in counter2.most_common():
    print(country, change_sum,"%")

相关问题 更多 >