导航:首页 > 编程语言 > 真话假话题目python代码

真话假话题目python代码

发布时间:2022-08-29 02:19:06

❶ 真话与假话...世界上最难的逻辑题

唉!!
在问问里看了这么多所谓的"满意答案"
竟然没有一个是正确的!!
此题高明之处是要求一个问题只能问一个精灵,
而网络上好多错误答案都是把问题简单化了
什么一个问题同时问三个精灵
或是问出的问题会让精灵无话可答
这都是不符合题目要求的
要是那么容易答出的问题就不叫世界最难的逻辑题了
以下是别处看的正确答案(由于具体推理过程很多我只写答案,过程自己理解)
当时看着答案分析了半天才搞明白,可想此题之难!!
第一,(问
A)如果我问你以下两个问题:“fa表示Yes吗?”和“如果我问你以下两个问题:‘你是真吗’和‘B是随机的吗’,你的回答是一样的,对吗?”,你的回答是一样的,对吗?
第二,(问非随机的)如果我问你以下两个问题:“fa表示Yes吗?”和“1+1=2吗”,你的回答是一样的,对吗?
第三,还是问这个非随机的(这时已可确定他是说真话的还是说假话的了)如果我问你以下两个问题:“fa
表示Yes
吗?”和“A
是随机的吗”,你的回答是一样的,对吗?
希望楼主看清再采纳!

❷ 如何捅破python编程的那层纸

一些朋友自学python过程中,发现书也能看懂,书上的玩具代码也能看懂,但为啥自己不能做习题,不能写代码解决问题,自己不能动手写代码?
原因是初学者没有学会计算思维、解决问题的方法、编程思路。
编程思路的养成需要一个过程的,在编码过程中思考,多动手敲代码。
有时候,想不明白的地方,有人稍微点破一下,那层纸就很容易破。
请看下面的例子。
编程思路一:
经常有人问,一个文本文件,要抽取多少行以后的文本。
相信记数循环,大家都看得懂,也会写。下面的代码就是利用记数循环来解决这个问题。

代码一:
一个几百M的文本文件,需要每隔1000行写到新的文件中。
不要小看了计数循环,用计数循环和判断语句就可以解决这个问题。

# coding:utf-8
"""
迪艾姆python远程视频培训

咨询:qq:1465376564

"""
with open('dist_1.txt','r') as f1 ,open('dist_new.txt','w') as f2:
i = 0
for line in f1:
i += 1
if i % 1000 == 0:
f2.write(line)

代码二:
请问一个日志文本文件有2000行,我要提取其中的100行到200行,怎么做?
你可以试试下面的方法。
别小看while计数循环,其实它可以用来干很多事。
#coding:utf-8
i = 0
file1 = open("test.txt","r")
file2 = open("out.txt","w")
while True:
line = file1.readline()
i += 1
if 100<=i and i<=200:
file2.write(line)
if i >200 :
break
if not line:
break
file1.close()
file2.close()
编程思路二:
#coding:utf-8
"""
本代码由迪艾姆公司黄老师所写,思路大家自己看代码。

抓了a,b,c,d4名犯罪嫌疑人.其中有一名是小偷,审讯中:
a说我不是小偷
b说c是小偷
c说小偷肯定是d
d说c胡说!
其中有3个人说的是实话,一个人说的是假话,编程推断谁是小偷。
(用穷举法和逻辑表达式)

"""

for thief in ['a','b','c','d']:

sum = (thief != 'a') + (thief == 'c') + (thief == 'd') + (thief !='d')
if sum == 3:
print "小偷是:%s " % thief
总结: 学习python编程,先学会过程式编程,再过度到面向对象的编程范式。 学会函数抽象、类抽象。一步一步养成计算思维、学会解决问题的方法、编程思路。 这个需要一个过程,也不要操之过急。 看一下这些视频,可能对你有些帮助。

❸ IQ大挑战--假话国的问题

一个人一样问啊,就是感觉很别扭。
问:“另一个国家的人会给我指哪条路去A城?”
与答案相反的路就是去A城。
*****
假设去A城的路是1,另一条路为2。
如果问真话国的人,他知道假话国的人会给你指路2,因为说真话,所以他的答案为<路2>。
如果是假话国的人,他知道真话国的人会给你指路1,因为说假话,所以他的答案也为<路2>。

真话国的人表示为“正+”,假话国的人表示为“负-”。问题的巧妙之处可以归结到最简单的数学式,“+”乘以"-"得"-",正负得负。就是要一句话把真话国和假话国都能问到,与答案相反的路就是正确的。
上面有几个同胞说的:
______________________________________________________________
象>>>>>>>问,"如果你是假话国的人,告诉我,A城是哪条路?"
这样,那个人说的话就肯定是假话了.所以另一条路就到A城了.<<<<<<<<
______________________________________________________________
这种肯定是不行的,如果问到真话国的人,会给你说是相反的路;但如果是假话国的人,因为他本身说假话,负负得正,给你指的是正确的路。无法确定。

❹ 这个逻辑题的答案是什么

这据说是全世界最难的趣味问题哦~~~~~~

你要做的第一步是找出一个要么说真话要么说假话的精灵。因此,你可以向甲精灵问第一个问题:DA的意思是‘是’吗当且仅当你是说真话的精灵当且仅当乙是随机决定说真话还是说假话的精灵?”假定甲精灵是说真话或者说假话的精灵之一,如果你得到回答“DA”,那么乙确实是那个随机决定说真话还是说假话的精灵,丙就是你要找的目标;如果你得到回答“JA”,乙则是你要找的目标。但是如果甲精灵是随机决定说真话还是说假话的精灵呢?如果甲精灵是随机决定说真话还是说假话的精灵,那么乙和丙就不是随机决定说真话还是说假话的精灵,它们都可以是你的下一个目标。总结起来,不论甲精灵说真话,说假话,还是随机决定说真话说假话,如果你得到回答“DA”,你就选择丙,如果你得到回答“JA”,你则选择乙。现在转向你找到的要么说真话要么说假话的乙精灵或者丙精灵,我们在这里不妨假定是乙。我们提出我们的第二个问题:“DA的意思是‘是’吗当且仅当你是说真话的精灵?”说真话的精灵会回答DA,说假话的精灵则会回答JA。这样,通过两个问题,你就知道了乙说的到底是真话还是假话。我们的第三个问题还是问乙精灵,你刚才已经明确地知道了它是说真话还是说假话,题目如下:“DA的意思是‘是’吗当且仅当甲是随机决定说真话还是说假话的精灵?”
我们先假定乙是说真话的精灵,那么如果你得到的回答是DA,则甲是随机决定说真话还是说假话的精灵,乙是说真话的精灵,丙是说假话的精灵;如果你得到的回答是JA,则甲不是随机决定说真话还是说假话的精灵,所以甲是说假话的精灵,乙是说真话的精灵,丙是随机决定说真话还是说假话的精灵。
我们也可以看一下如果乙是说假话的精灵的情况。如果你得到的回答是Bian,因为乙说的是假话,甲不是随机决定说真话还是说假话的精灵,因此甲是说真话的精灵,乙是说假话的精灵,丙是随机决定说真话还是说假话的精灵;如果你得到的回答是Tai,则甲是随机决定说真话还是说假话的精灵,乙是说假话的精灵,丙是说真话的精灵。

❺ 怎么推理说真话假话的推理题

丁。甲丁都说不是自己,若甲说假话说明是甲捐的,若丁假话说明丁捐的,因此2人不可能都是假话,也就是说甲丁有一人真话。另一方面,乙丁的话矛盾,他俩也必有一真。考虑到只有一真,可知丁真。

❻ python 一道列表题目 求解

将每个人说的内容作为一个表达式对应到每个人,然后循环假设每一个人是目标来测试,如果只有一个人说的内容为假,则这时假设的人就是正确的,输出。

❼ 已知三个人说了真话,一个人说了假话,用scrach如何编程

如此,那只要判断有三个表述是相同的即可,忽略掉那个不相同的表述。

❽ 高人指点。一个关于真话假话的逻辑题。

先问其中一个人:如果其他两个人在任何时候都说真话,那请你指给我去城堡的路。验证:因为只有说真话的人在任何时候才说真话,说假话和随机决定说真话和假话的人则不会。如果问的人是说真话的,他会告诉你:不是,他们任何时候不一定说真话。那这个人指的路就是对的如果问的人是说假话的,他会告诉你:是的,他们说的都是真话。那这个人指的路就是错的!如果问的人是随机说真说谎的,他如果看到说真话和说谎话的人,他会告诉你:1、如果真话,他会说:不是,有一个说真话,一个说假话。2、如果假话,他会说,是的,他们一个说假话,一个说真话。(注意顺序,把说谎和说真话的人对调了) 所以第一个没有问对的话,就问第二个。不过第二个要这样问:如果其他两个人在任何时候都说真话,那请你指给我去城堡的路,否则给我指条去地狱的。如果第二个还不通过,那说明他说的是假的,也就是说他指的去地狱的路是去城堡的第三个就不用问了

❾ 编写C语言程序解决白帽子、红帽子问题

这个问题我用5位二进制数来表示,总的可能排列有32种,逐一检验就可以找到答案,具体看代码:

#include<stdio.h>
#include<conio.h>
#defineN5
intmain(){
unsignedintbin,max,i,w,hat[N]={0};
for(max=1,i=0;i<N;++i)max*=2;//计算max=2^N
for(bin=0;bin<max;++bin){//用N位二进制数表示每个人的帽子状态,bin=00000~11111
for(w=1,i=0;i<N;++i,w*=2){//获取每个人戴的帽子(0为红帽子,1为白帽子)
hat[i]=((bin&w)!=0);//按位与来检测其帽子颜色
}
for(w=0,i=0;i<N;++i)w+=hat[i];//统计总的白帽子数
//检验甲的说法
if(hat[0]){//如果甲戴白帽子,说真话
if(w-1!=1)continue;//但是除了甲外,白帽子数不是1,说明解错误,换下一组解
}else{//甲戴红帽子,说假话
if(w==1)continue;
}
//检验乙的说法
if(hat[1]){
if(w-1!=N-1)continue;
}else{
if(w==N-1)continue;
}
//检验丙的说法
if(hat[2]){
if(!(w-1==1&&hat[0]==0))continue;
}else{
if(w==1&&hat[0]==0)continue;
}
//检验丁的说法
if(hat[3]){
if(!(w-1==0))continue;
}else{
if(w==0)continue;
}
//检验戊的说法
if(hat[4]){
if(!(w-1==1&&hat[0]==0))continue;
}//如果戊说了假话,其余情况都有可能
for(i=0;i<N;++i){
printf("%d",hat[i]);
}
printf(" ");
}
printf(" Finished! ");
getch();
return0;
}

最后运行的结果显示为:0 0 1 0 1,即甲红、乙红、丙白、丁红、戊白。

❿ 谁说真话,谁说假话的题目怎么做

这要看逻辑啊,假设一个人说的是真的,然后推理。然后再假设另一个。

阅读全文

与真话假话题目python代码相关的资料

热点内容
游戏属性文件加密 浏览:460
如何让安卓手机桌面图标下移 浏览:526
ubuntuphp5环境搭建 浏览:99
赌瘾解压视频 浏览:917
晋城移动dns服务器地址 浏览:294
php开源文库系统 浏览:134
android记事本源码 浏览:405
安卓11小游戏怎么玩法 浏览:188
gif有损压缩 浏览:935
windows下安装linux命令操作 浏览:842
米家app怎么设置进门亮灯 浏览:651
任我行服务器为什么会影响截图 浏览:295
安卓留言板怎么删除 浏览:18
做大厂程序员有什么感受 浏览:242
php文件只读 浏览:775
红色警戒3命令修改器112 浏览:433
安卓税收和苹果税是什么意思 浏览:446
快速排序算法的时间复杂度分析 浏览:113
大龄程序员困境 浏览:270
手机号忘了怎么登录农行app 浏览:573