其他分享
首页 > 其他分享> > 20201013练习题

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