PYTHON奇幻冒險記13 大偵探福爾摩斯
阿新 • • 發佈:2020-12-30
技術標籤:Python奇幻冒險python
PYTHON奇幻冒險記13 大偵探福爾摩斯
第十三節 大偵探福爾摩斯
文章目錄
故事前言
假設有兩名囚徒A和B因為合夥犯罪被抓捕,因沒有確鑿可以指認罪行的證據,審判者準備單獨審判兩位囚徒。
若兩人都認罪,則兩人各判10年;若一個認罪一個抵賴,則認罪的人判1年,抵賴的人判20年;若兩人都抵賴,則各判3年。
判決提示:
若兩人都認罪,則兩人各判10年,審判結束;
若一個認罪一個抵賴,則認罪的人判1年,抵賴的人判20年,繼續審判,直到都認罪;
若兩人都抵賴,各判3年,還要繼續審判,直到都認罪。
大家想想,我們應該如何設計程式碼呢?
參考程式碼如下:
while True:
a = input('A,你認罪嗎?請回答認罪或者不認:')
b = input('B,你認罪嗎?請回答認罪或者不認:')
if a == '認罪' and b == '認罪':
print('兩人都得判10年')
break
elif a == '不認' and b == '認罪':
print('A判20年,B判1年')
continue
elif a == '認罪' and b == '不認':
print ('A判1年,B判20年')
continue
elif a == '不認' and b == '不認':
print('都判3年,太狡猾了')
continue
else:
print('別搗亂,只能回答“認罪”或“不認”!')
執行結果如下:
A,你認罪嗎?請回答認罪或者不認:ee
B,你認罪嗎?請回答認罪或者不認:ff
別搗亂,只能回答“認罪”或“不認”!
A,你認罪嗎?請回答認罪或者不認:認罪
B,你認罪嗎?請回答認罪或者不認:不認
A判1年,B判20年
A,你認罪嗎?請回答認罪或者不認:認罪
B,你認罪嗎?請回答認罪或者不認:認罪
兩人都得判10 年
記錄審判
n = 0
list_answer = [] # 需要定義一個列表,就像是一個空箱子
while True:
n = n + 1 # 也可寫成 n = n + 1 這樣的的表達方式。
a = input('A,你認罪嗎?請回答認罪或者不認:')
b = input('B,你認罪嗎?請回答認罪或者不認:')
list_answer.append([a,b]) # 用列表巢狀的方式來存放實驗者的選擇,也可用元組或字典。
if a == '不認' and b == '不認':
print('兩人都得判30年')
elif a == '不認' and b == '認罪':
print('A判20年,B判1年')
elif a == '認罪' and b == '不認':
print('A判1年,B判20年')
else:
print('都判3年')
break
print('第' + str(n) + '次審判的刑罰最輕。')
for i in range(n):
# 注意資料型別的轉換,以及計數起點的不同(0和1)
print('第' + str(i+1) + '對實驗者的選擇是:' + str(list_answer[i]))
執行結果:
A,你認罪嗎?請回答認罪或者不認:不認
B,你認罪嗎?請回答認罪或者不認:認罪
A判20年,B判1年
A,你認罪嗎?請回答認罪或者不認:認罪
B,你認罪嗎?請回答認罪或者不認:不認
A判1年,B判20年
A,你認罪嗎?請回答認罪或者不認:不認
B,你認罪嗎?請回答認罪或者不認:不認
兩人都得判30年
A,你認罪嗎?請回答認罪或者不認:認罪
B,你認罪嗎?請回答認罪或者不認:認罪
都判3年
第4對實驗者選了最優解。
第1對實驗者的選擇是:['不認', '認罪']
第2對實驗者的選擇是:['認罪', '不認']
第3對實驗者的選擇是:['不認', '不認']
第4對實驗者的選擇是:['認罪', '認罪']
終極BOSS
我很喜歡看電影,我回憶了一下,這兩年我覺得還不錯的國產電影!
英雄,無極…
下面,會將電影的影片名和主演放在字典裡,如:
movie = {‘妖貓傳’:[‘黃軒’,‘張雨綺’]}。
需要你補充一些程式碼,讓其他人只要輸入演員名,就打印出:××出演了電影××
movies = {
'英雄':['李連杰','張曼玉','梁朝偉','甑子丹'],
'無極':['張柏芝','劉燁','謝霆鋒','陳紅'],
'霸王別姬':['張國榮','鞏俐','葛優','蔣雯麗'],
'尖峰時刻3':['成龍','章子怡'],
'大話西遊':['周星馳','吳孟達','藍潔瑛']
}
actor = input('你想查詢哪個演員?')
for movie in movies: # 用 for 遍歷字典
actors = movies[movie] # 讀取各個字典的主演表
if actor in actors:
print(actor + '出演了電影' + movie)
你想查詢哪個演員?成龍
成龍出演了電影尖峰時刻3
怎麼樣,是不是很神奇呢?這就是PYTHON的魅力所在~
下期我們見~