【教学类-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

相关推荐
wgyang20163 分钟前
我的第一个LangFlow工作流——复读机
python
Zhen (Evan) Wang10 分钟前
(豆包)xgb.XGBRegressor 如何进行参数调优
开发语言·python
我爱一条柴ya15 分钟前
【AI大模型】线性回归:经典算法的深度解析与实战指南
人工智能·python·算法·ai·ai编程
赶紧去巡山40 分钟前
pyhton基础【23】面向对象进阶四
python
旷世奇才李先生1 小时前
PyCharm 安装使用教程
ide·python·pycharm
这里有鱼汤1 小时前
“对象”?对象你个头!——Python世界观彻底崩塌的一天
后端·python
尘浮7282 小时前
60天python训练计划----day59
开发语言·python
wh39332 小时前
使用Python将PDF转换成word、PPT
python·pdf·word
船长@Quant2 小时前
数学视频动画引擎Python库 -- Manim Voiceover 语音服务 Speech Services
python·数学·manim·动画引擎·语音旁白
好开心啊没烦恼3 小时前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas