Python鞋码表 以及购鞋尺寸推荐 简单的Python脚本

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 #############")

用法

  1. 确保Python已经安装了configparser模块,没有的话:
 pip install configparser
  1. 把鞋码数据库文件保存为xm.dat

  2. 把脚本文件第一行改成你的Python环境,保存为xm.py,确保xm.dat与xm.py在同一文件夹下.

  3. 查看所有的尺码数据,输入:

python xm.py
  1. 假如你穿中国?43码的鞋,请输入:
python xm.py 43

我看到的输出如下,系统提示,只有男鞋有这个码号:
在这里插入图片描述


  1. 鞋码定义太不规范了,不同国家有自己的规定,不同鞋子厂家会按照规定生产鞋子 ↩︎

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值