第10關 田忌賽馬 2 作業

2021-10-05 02:14:56 字數 2827 閱讀 6989

作業1:

練習目標:

我們會通過今天的作業,做出和電腦進行「石頭剪刀布」的遊戲。

練習要求:

和電腦玩乙個剪刀石頭布的遊戲:電腦隨機出拳,我們可選擇出什麼。

雙方出拳

首先,我們要讓雙方選擇出拳,才能判斷勝負。

我們可以設定變數computer_choice代表電腦的出拳選擇,設定變數user_choice代表你的出拳選擇。

電腦的出拳,我們可以使用random.choice()來隨機選擇;我們的出拳,可以手動輸入我們出拳的型別。

另外,判斷下輸入:當輸入的內容不是石頭剪刀布時,電腦會提醒』輸入有誤,請重新出拳』,並重新出拳。

請根據已經設定好的**,補充**,讓**符合上面的要求。

雙方亮拳

你和電腦已經對自己要出的拳進行了選擇,接下來,我們需要知道雙方的出拳型別。

請使用print()函式補充亮拳的結果。

判斷勝負

在前面兩步,電腦和你已經選擇完出拳的型別並亮拳后,只差最後一步:根據結果判斷勝負。

請將**補充完整,並執行幾次試試是否正確判斷。

import random

# 出拳

punches =

['石頭'

,'剪刀'

,'布'

]computer_choice = random.choice(punches)

user_choice =

''user_choice =

input

('請出拳:(石頭、剪刀、布)'

)# 請使用者輸入選擇

while user_choice not

in punches:

# 當使用者輸入錯誤,提示錯誤,重新輸入

print

('輸入有誤,請重新出拳'

) user_choice =

input()

# 亮拳

print

('————戰鬥過程————'

)print

('電腦出了:%s'

% computer_choice)

print

('你出了:%s'

% user_choice)

# 勝負

print

('—————結果—————'

)if user_choice == computer_choice:

# 使用if進行條件判斷

print

('平局!'

)elif

(user_choice ==

'石頭'

and computer_choice ==

'剪刀')or

(user_choice ==

'剪刀'

and computer_choice ==

'布')

or(user_choice ==

'布'and computer_choice ==

'石頭'):

print

('你贏了!'

)else

:print

('你輸了!'

)

練習要求

上乙個練習的**中,有乙個判斷語句的**很長很長:

elif (user_choice == 『石頭』 and computer_choice == 『剪刀』) or (user_choice == 『剪刀』 and computer_choice == 『布』) or (user_choice == 『布』 and computer_choice == 『石頭』):

我們會通過乙個新的知識,將其簡化,體驗到「知識得增加,**得簡化」這個客觀規律。

import random

# 出拳

punches =

['石頭'

,'剪刀'

,'布'

]computer_choice = random.choice(punches)

user_choice =

''user_choice =

input

('請出拳:(石頭、剪刀、布)'

)# 請使用者輸入選擇

while user_choice not

in punches:

# 當使用者輸入錯誤,提示錯誤,重新輸入

print

('輸入有誤,請重新出拳'

) user_choice =

input()

# 亮拳

print

('————戰鬥過程————'

)print

('電腦出了:%s'

% computer_choice)

print

('你出了:%s'

% user_choice)

# 勝負

print

('—————結果—————'

)if user_choice == computer_choice:

# 使用if進行條件判斷

print

('平局!'

)# 電腦的選擇有3種,索引位置分別是:0石頭、1剪刀、2布。

# 假設在電腦索引位置上減1,對應:-1布,0石頭,1剪刀,皆勝。

elif user_choice == punches[punches.index(computer_choice)-1

]:print

('你贏了!'

)else

:print

('你輸了!'

位元組跳動提前批筆試第1題 田忌賽馬

方法 貪心法 思路 其實就是田忌賽馬的題,換了個應用場景而已,分幾種情況 1.如果你的最快馬大於另外隊最快馬,則比 2.如果你的最快馬小於另外隊最快馬,則讓你的最慢馬跟他的最快馬比較 3.如果你的最快馬等於它的最快馬,則開始比較最慢馬,分兩種情況 3.1 如果你的最慢馬快於它的最慢馬,則比較 3.2...

第9關 喊出我的名字(2)作業

檢視注釋,執行 import random import time 將 程式封裝成函式 defchoujiang q,w,e 定義乙個 函式,帶有3個引數,也就是3位候選人 luckylist q,w,e 定義乙個中獎名單的列表 a random.choice luckylist 在中獎名單裡面隨機...

第2關 資料排序

任務描述 本關任務 將十個數進行從大到小的順序進行排列。編寫程式,從鍵盤對陣列的前n個陣列元素依次賦值,並按照從大到小的順序進行排列輸出。如 從鍵盤輸入n的值是10,輸入的陣列元素資料依次是 0,1,2,3,4,5,6,7,8,9,則輸出為 9,8,7,6,5,4,3,2,1,0 注意 n的值應為小...