Python鞋码表 以及购鞋尺寸推荐 简单的Python脚本
问题来源
30碎了,只知道自己穿42.5码的鞋,但是不知道到底是那个国家的42.5码,其实根本没有42.5码,怪不得买的鞋子偶尔偏大,偶尔偏小。
总体思路
把鞋码存到一个文本文件(.dat),Python解析文件,
如果脚本不加参数,直接输出鞋码矩阵
如果脚本添加一个参数(鞋码),判断参数是否有效,然后输出所有可能的鞋码,供用户参考
鞋码尺寸数据,来源于网络1
数据从这里得到,列出来,鞋子数据以Tab分开,xm.dat的内容如下:
[male]
US=6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0
UK=5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5
EU/FR= 38 2/3 39 1/3 40 40 2/3 41 1/3 42 42 2/3 43 1/3 44
JP=240 245 250 255 260 265 270 275 280
CN=38 39 40 41 42 43 44 45 46
[female]
US=5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0
UK=4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
EU/FR=36 36 2/3 37 1/3 38 38 2/3 39 1/3 40 40 2/3 41 1/3
JP=220 225 230 235 240 245 250 255 260
CN=34 35 36 37 38 39 40 41 42
代码
#修改成你的python环境
#!/home/summer/tools/anaconda3/bin/python
import configparser
import sys
import time
print('This program display the matrix of shoe size,it can even supply some shopping suggestions')
print('Usage:')
print(sys.argv[0])
print('Or specify the correct shoe size:')
print(sys.argv[0], '8.5')
configFile='./xm.dat'
cf = configparser.RawConfigParser()
cfile = cf.read(configFile)
male="male"
female='female'
#Gender list
GENDER=[male,female]
#Country list
NATION=["US", "UK", "EU/FR", "JP", "CN"]
#save all available shoe size
sizes=[]
#collect suggestion
suggestion=[]
#interate through gender
for g in GENDER:
print(g)
for c in NATION:
#iterate through nation
xm = cf[g].get(c)
xm = xm.split('\t')
for (idx,x) in enumerate(xm):
sug = []
if len(sys.argv) == 2:
if x == sys.argv[1]:
# print(g,c,idx)
sug.append(g)
sug.append(idx)
suggestion.append(sug)
# print(len(xm),c,':',xm)
print(c,':',xm)
for x in xm:
sizes.append(x)
if len(sys.argv) == 2:
if sizes.__contains__(sys.argv[1]):
print("########## Wait a minute #############")
time.sleep(2)
print('######################################\n')
# idx = sizes.index(sys.argv[1])
for s in suggestion:
print('##########', s[0].upper(), ' SUGGESTION ##########', '\n')
for c in NATION:
xm = cf[s[0]].get(c)
xm = xm.split('\t')
print('\t\t',c,xm[s[1]],'\n')
else:
print("########## Whoops Whoops #############")
用法
- 确保Python已经安装了configparser模块,没有的话:
pip install configparser
-
把鞋码数据库文件保存为
xm.dat
-
把脚本文件第一行改成你的Python环境,保存为
xm.py
,确保xm.dat与xm.py在同一文件夹下. -
查看所有的尺码数据,输入:
python xm.py
- 假如你穿中国?
43
码的鞋,请输入:
python xm.py 43
我看到的输出如下,系统提示,只有男鞋有这个码号:
鞋码定义太不规范了,不同国家有自己的规定,不同鞋子厂家会按照规定生产鞋子 ↩︎