20201013练习题
作者:互联网
第一题:
警察局抓了a,b,c,d 4名偷窃嫌疑犯,其中只有一人是小偷。审问中:
a说:“我不是小偷。”
b说:“c是小偷。”
c说:“小偷肯定是d。”
d说:“c在胡说。”
四句话,三句话对的,一句话错的
请问:谁才是真正的小偷?
第二题:
给你一个字典:
t={‘year’:’2013’,’month’:’9’,’day’:’30’,’hour’:’16’,’minute’:’45’,’second’:’2’}
请按这样的格式输出:2013-09-30 16:45:02
第一题思路:
四个犯人编号1,2,3,4,
a说:thief != 1
b说:thief = 3
c说:thief = 4
d说:thief != 4
四句话,三句话对的,一句话错的。
python中,逻辑判断是可以相加的
True + True = 2,True + False = 1
这里就是从a到d,以1到4来代替,枚举每一个犯人,代入他们说的话中,如果出现了3句真话,那么代表改犯人成立
源代码:
for i in range(4):
i += 1
if 3 == ((i != 1) + (i == 3) + (i == 4) + (i != 4)):
str = chr(96 + i) + "是小偷!"
print(str)
第二题答案:
def data_to_str(d):
'''
:param d: 日期字典
:return: str 格式化后的日期
'''
s1='{} {:>02} {:>02}'.format(t['year'],t['month'],t['day'])
s2='{} {:>02} {:>02}'.format(t['hour'],t['minute'],t['second'])
print(s1,s2)
print('-'.join(s1.split()),end=' ')
print(':'.join(s2.split()))
t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
print(data_to_str(t))
标签:练习题,02,20201013,thief,month,小偷,str,print 来源: https://www.cnblogs.com/faberbeta/p/13805638.html