这里有一张表格,想要根据三个变量(性别,年龄,省份)来排列不同组合:
性别有2种情况:男,女
年龄有5种情况:18~28,28~38,38~48,48~58,58~60
省份有4种情况:'福建','广东','江西','云南'
以上三种变量能够组成40个组合。
现在要增加一个字段(组合方案),假设组合情况为:“男,18~28,福建”则在“组合方案”这一列标注1,以此类推。
在python中如果用for循环要写40种情况,有没有简便的方法能完成上面的需求?(小白一枚,请大神帮忙写详细点,谢谢)
sex=("男",“女”)
age=("18~28","28~38","38~48","48~58","58~60")
provinces=('福建','广东','江西','云南')
fun checkCombination(combination){
items=combination.split(",")
if len(items)!=3{
return 0
}
if items[0].trim() in sex and items[1] in age and items[2] in provinces{
return 1
}
return 0
}
# -*- coding: UTF-8 -*-
provi = ['福建','广东','江西','云南' ]
gender = [ '男', '女' ]
def getIndex(g, age, p):
ai = (age - 18) / 10
gi = gender.index(g)
pi = provi.index(p)
return ai * len(provi) * len(gender) + pi * len(gender) + gi + 1
i = getIndex('男', 21, '福建')
print(i)
i = getIndex('女', 21, '福建')
print(i)
i = getIndex('男', 46, '江西')
print(i)
i = getIndex('女', 60, '云南')
print(i)
1
2
21
40