作品展示:
背景需求:
2024年3月22日得到发布一道测试题,作为报名入门题(营销题)
母亲是逻辑思维得到APP的用户,她让我动脑做一下
我觉得可以用python写个代码做一下
通过排除法,获得72种符合问题0答案
然后根据问题1,我提取第1个字母是V的排列组合
然后根据问题2,我提取第3个字母是U的排列组合
代码汇总
'''
逻辑思维:七名考生逐一上台表演t=['T','U','V','W','X','Y','Z']
X 不能最先或最后出厂
X表演之前W不能擅长(W 在X之后)
T和Y不能排在第7个(排在最后一位)
Y或Z必须在W后面一位
V在U之前或之后表演'''print('------问题0 72种可能性-----------')
import itertoolst = ['T', 'U', 'V', 'W', 'X', 'Y', 'Z']
permutations = list(itertools.permutations(t))valid_permutations = []for permu in permutations:if permu.index('X') != 0 and permu.index('X') != 6 and permu.index('W') > permu.index('X') and permu.index('T') != 6 and permu.index('Y') != 6 and (permu.index('Y') == permu.index('W') + 1 or permu.index('Z') == permu.index('W') + 1) and (permu.index('V') == permu.index('U') + 1 or permu.index('V') == permu.index('U') - 1):valid_permutations.append(permu)l=[]
for valid_permu in valid_permutations:l.append(valid_permu)
l=list(set(l))
l.sort()
# print(l)
# print(len(l))
# 72种可能性for ll in l:print(ll)
('T', 'U', 'V', 'X', 'W', 'Y', 'Z')
('T', 'U', 'V', 'X', 'Y', 'W', 'Z')
('T', 'U', 'V', 'Y', 'X', 'W', 'Z')
('T', 'V', 'U', 'X', 'W', 'Y', 'Z')
('T', 'V', 'U', 'X', 'Y', 'W', 'Z')
('T', 'V', 'U', 'Y', 'X', 'W', 'Z')
('T', 'X', 'U', 'V', 'W', 'Y', 'Z')
('T', 'X', 'U', 'V', 'Y', 'W', 'Z')
('T', 'X', 'V', 'U', 'W', 'Y', 'Z')
('T', 'X', 'V', 'U', 'Y', 'W', 'Z')
('T', 'X', 'W', 'Y', 'U', 'V', 'Z')
('T', 'X', 'W', 'Y', 'V', 'U', 'Z')
('T', 'X', 'W', 'Y', 'Z', 'U', 'V')
('T', 'X', 'W', 'Y', 'Z', 'V', 'U')
('T', 'X', 'W', 'Z', 'Y', 'U', 'V')
('T', 'X', 'W', 'Z', 'Y', 'V', 'U')
('T', 'X', 'Y', 'U', 'V', 'W', 'Z')
('T', 'X', 'Y', 'V', 'U', 'W', 'Z')
('T', 'X', 'Y', 'W', 'Z', 'U', 'V')
('T', 'X', 'Y', 'W', 'Z', 'V', 'U')
('T', 'X', 'Z', 'W', 'Y', 'U', 'V')
('T', 'X', 'Z', 'W', 'Y', 'V', 'U')
('T', 'Y', 'U', 'V', 'X', 'W', 'Z')
('T', 'Y', 'V', 'U', 'X', 'W', 'Z')
('T', 'Y', 'X', 'U', 'V', 'W', 'Z')
('T', 'Y', 'X', 'V', 'U', 'W', 'Z')
('T', 'Y', 'X', 'W', 'Z', 'U', 'V')
('T', 'Y', 'X', 'W', 'Z', 'V', 'U')
('T', 'Z', 'X', 'W', 'Y', 'U', 'V')
('T', 'Z', 'X', 'W', 'Y', 'V', 'U')
('U', 'V', 'T', 'X', 'W', 'Y', 'Z')
('U', 'V', 'T', 'X', 'Y', 'W', 'Z')
('U', 'V', 'T', 'Y', 'X', 'W', 'Z')
('U', 'V', 'X', 'T', 'W', 'Y', 'Z')
('U', 'V', 'X', 'T', 'Y', 'W', 'Z')
('U', 'V', 'X', 'W', 'Y', 'T', 'Z')
('U', 'V', 'X', 'Y', 'T', 'W', 'Z')
('U', 'V', 'Y', 'T', 'X', 'W', 'Z')
('U', 'V', 'Y', 'X', 'T', 'W', 'Z')
('V', 'U', 'T', 'X', 'W', 'Y', 'Z')
('V', 'U', 'T', 'X', 'Y', 'W', 'Z')
('V', 'U', 'T', 'Y', 'X', 'W', 'Z')
('V', 'U', 'X', 'T', 'W', 'Y', 'Z')
('V', 'U', 'X', 'T', 'Y', 'W', 'Z')
('V', 'U', 'X', 'W', 'Y', 'T', 'Z')
('V', 'U', 'X', 'Y', 'T', 'W', 'Z')
('V', 'U', 'Y', 'T', 'X', 'W', 'Z')
('V', 'U', 'Y', 'X', 'T', 'W', 'Z')
('Y', 'T', 'U', 'V', 'X', 'W', 'Z')
('Y', 'T', 'V', 'U', 'X', 'W', 'Z')
('Y', 'T', 'X', 'U', 'V', 'W', 'Z')
('Y', 'T', 'X', 'V', 'U', 'W', 'Z')
('Y', 'T', 'X', 'W', 'Z', 'U', 'V')
('Y', 'T', 'X', 'W', 'Z', 'V', 'U')
('Y', 'U', 'V', 'T', 'X', 'W', 'Z')
('Y', 'U', 'V', 'X', 'T', 'W', 'Z')
('Y', 'V', 'U', 'T', 'X', 'W', 'Z')
('Y', 'V', 'U', 'X', 'T', 'W', 'Z')
('Y', 'X', 'T', 'U', 'V', 'W', 'Z')
('Y', 'X', 'T', 'V', 'U', 'W', 'Z')
('Y', 'X', 'T', 'W', 'Z', 'U', 'V')
('Y', 'X', 'T', 'W', 'Z', 'V', 'U')
('Y', 'X', 'U', 'V', 'T', 'W', 'Z')
('Y', 'X', 'V', 'U', 'T', 'W', 'Z')
('Y', 'X', 'W', 'Z', 'T', 'U', 'V')
('Y', 'X', 'W', 'Z', 'T', 'V', 'U')
('Z', 'T', 'X', 'W', 'Y', 'U', 'V')
('Z', 'T', 'X', 'W', 'Y', 'V', 'U')
('Z', 'X', 'T', 'W', 'Y', 'U', 'V')
('Z', 'X', 'T', 'W', 'Y', 'V', 'U')
('Z', 'X', 'W', 'Y', 'T', 'U', 'V')
('Z', 'X', 'W', 'Y', 'T', 'V', 'U')print('------问题1 9种可能-----------')
'''
问题1:如果V第一个上场,下列那些选项为真
a、T第6个出场
b、X第3个出场
c、Z第7个出场
d、T在Y后立刻出场(Y排在T之前)
e、W在X后立刻出场(X排在W之前)
'''
# 提取V排在第1个的所有的可能性
V=[]
for x in l:if x[0]=='V':V.append(x)else:pass
print(V)
print(len(V))for v in V:print(v)('V', 'U', 'T', 'X', 'W', 'Y', 'Z') # Z第7个出场 X排在W之前
('V', 'U', 'T', 'X', 'Y', 'W', 'Z') # Z第7个出场
('V', 'U', 'T', 'Y', 'X', 'W', 'Z') # Z第7个出场 X排在W之前
('V', 'U', 'X', 'T', 'W', 'Y', 'Z') # Z第7个出场 X第3个出场
('V', 'U', 'X', 'T', 'Y', 'W', 'Z') # Z第7个出场 X第3个出场
('V', 'U', 'X', 'W', 'Y', 'T', 'Z') # Z第7个出场 T第6个出场 X第3个出场 Y排在T之前 X排在W之前
('V', 'U', 'X', 'Y', 'T', 'W', 'Z') # Z第7个出场 X第3个出场 Y排在T之前
('V', 'U', 'Y', 'T', 'X', 'W', 'Z') # Z第7个出场 Y排在T之前 X排在W之前
('V', 'U', 'Y', 'X', 'T', 'W', 'Z') # Z第7个出场print('------问题2 10种可能----------')
'''
问题2:如果U第3个上场,Y最晚上场的次序是
a、1
b、2
c、5
d、6
e、7
'''
# 第3个是U
U=[]
for x in l:if x[2]=='U':U.append(x)else:pass
print(U)
print(len(U))for u in U:print(u)('T', 'V', 'U', 'X', 'W', 'Y', 'Z') # U 3 Y 6
('T', 'V', 'U', 'X', 'Y', 'W', 'Z')
('T', 'V', 'U', 'Y', 'X', 'W', 'Z')
('T', 'X', 'U', 'V', 'W', 'Y', 'Z') # U 3 Y 6
('T', 'X', 'U', 'V', 'Y', 'W', 'Z')
('T', 'Y', 'U', 'V', 'X', 'W', 'Z')
('Y', 'T', 'U', 'V', 'X', 'W', 'Z')
('Y', 'V', 'U', 'T', 'X', 'W', 'Z')
('Y', 'V', 'U', 'X', 'T', 'W', 'Z')
('Y', 'X', 'U', 'V', 'T', 'W', 'Z')# 选择d ==6个
结论:
题目0:符合七名考生演出顺序的排列有72种
题目1:如果V第1个上场,下列的5个选项都是正确的(有1-5个选项符合)
这里面只有一个('V', 'U', 'X', 'W', 'Y', 'T', 'Z')符合所有的选项(a-e)
Z第7个出场 T第6个出场 X第3个出场 Y排在T之前 X排在W之前题目2:如果U第3个上场,Y最晚上场的次序是:
U排在第3个的可能排序有10个,其中5个Y在U前,5个Y在U后,最靠右侧的是以下2个:
('T', 'V', 'U', 'X', 'W', 'Y', 'Z') # U 3 Y 6
('T', 'X', 'U', 'V', 'W', 'Y', 'Z') # U 3 Y 6