作業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的值應為小...