请教一下这个需要怎么写才能达到最后如图所示的效果,使用input的话能写出来,但是不太懂sys.argv模块。
Q.写一个输入区域后输出该区域名和该区域面积的程序。
要求:请使用命令行参数进行输入,输入区域时,即使没输入文字“区“也依然自动转换为”某某区“,如输入”千种“输出也依旧为”千种区“。如果输入文字不存在在内,则输出“某某区不存在”。
数据为下:
千种区 18.18平方千米
东区 7.71平方千米
北区 17.53平方千米
西区 17.93平方千米
中村区 16.30平方千米
中区9.38平方千米
昭和区 10.94平方千米
瑞穗区 11.22平方千米
热田区 8.20平方千米
中川区 32.02平方千米
港区 45.49平方千米
南区 18.46平方千米
守山区 34.01平方千米
绿区 37.91平方千米
名东区 19.45平方千米
天白区 21.58平方千米
输出结果如下:*原本是日文 进行了翻译。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
flag = False
regions = {'千种区': '18.18平方千米', '东区': '7.71平方千米', '北区': '17.53平方千米', '西区': '17.93平方千米', '中村区': '16.30平方千米', '中区': '9.38平方千米', '昭和区': '10.94平方千米', '瑞穗区': '11.22平方千米', '热田区': '8.20平方千米', '中川区': '32.02平方千米', '港区': '45.49平方千米', '南区': '18.46平方千米', '守山区': '34.01平方千米', '绿区': '37.91平方千米', '名东区': '19.45平方千米', '天白区': '21.58平方千米'}
user_input = sys.argv[1] #用户输入,这边只取了第一个用户输入的参数
for key in regions.keys():
if user_input in key:
print(key, regions.get(key))
flag = True
else:
if not flag:
if user_input.endswith('区'):
print(f'{ user_input }不存在')
else:
print(f'{user_input}区不存在')
sys.argv是获取运行python文件的时候命令行参数
python ***.py 千种区 中村区
import sys
#sys.argv[0]表示代码本身文件路径
#sys.argv[1:]开始,就是运行时传的参数
print(sys.argv)
#打印 ['千种区', '中村区']
#获取到这个参数了,就和你input输入后的处理一样了)