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; % 分享; 流行变化;% 改变; 大陆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;北美
解决方案
首先,我真的不明白你想要什么,但我纠正了你的缩进问题。
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,"%")
推荐阅读
- reactjs - MERN Stack 应用程序相同的数据出现在其他用户仪表板中
- php - 查询帖子标题以特定字母开头的 wp 帖子
- c++ - 类硬件帮助 C++
- django - 将用户对象添加到多对多字段
- python - 每次我将代码提交到 google codejam 2020 时都会出现运行时错误
- angular - 如何使用带有角度的laravel将产品添加到购物车
- python - 三个数中最小的一个
- python - PyInstaller 不包括导入
- javascript - ejs 错误:找不到“<%-”的匹配结束标记
- jenkins-x - jx 引导在步骤上失败:无法在目录 'workspace\source' 中运行 '/bin/sh -c jx step git validate' 命令,输出:''