【教学类-50-01】20240324 “逻辑思维-得到APP”题目《七位考生上场排序》

作品展示:

背景需求:

2024年3月22日得到发布一道测试题,作为报名入门题(营销题)

母亲是逻辑思维得到APP的用户,她让我动脑做一下

我觉得可以用python写个代码做一下

通过排除法,获得72种符合问题0答案

然后根据问题1,我提取第1个字母是V的排列组合

然后根据问题2,我提取第3个字母是U的排列组合

代码汇总

python 复制代码
'''
逻辑思维:七名考生逐一上台表演

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 itertools

t = ['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

相关推荐
IMER SIMPLE37 分钟前
人工智能-python-机器学习-线性回归与梯度下降:理论与实践
人工智能·python·机器学习
胖墩会武术1 小时前
【图像处理】小波变换(Wavelet Transform,WT)
图像处理·python
mit6.8241 小时前
[Robotics_py] 机器人运动模型 | `update`函数 | 微积分&矩阵
人工智能·python·算法
一枝小雨1 小时前
opencv:直方图
人工智能·python·opencv·计算机视觉
赵英英俊2 小时前
Python day43
开发语言·python
蒋星熠2 小时前
Rust 异步生态实战:Tokio 调度、Pin/Unpin 与零拷贝 I/O
人工智能·后端·python·深度学习·rust
Warren982 小时前
公司项目用户密码加密方案推荐(兼顾安全、可靠与通用性)
java·开发语言·前端·javascript·vue.js·python·安全
忆~遂愿3 小时前
Python实战教程:PDF文档自动化编辑与图表绘制全攻略
python·pdf·自动化
wwww.bo3 小时前
数据分析与可视化
python·信息可视化·数据分析