import random
print
("--------------石頭剪刀布遊戲開始------------------"
)print
("--------------請按照下面的提示進行出拳------------------"
)li =
["剪刀"
,"石頭"
,"布"
]information =
""f =
open
("result.txt"
,"w"
, encoding=
"utf8"
)while
true
:print
("剪刀 石頭 布 退出遊戲"
)try
: receive =
int(
input
("請輸入你的出拳:"))
except valueerror as e:
# print("你的輸入不符合規範,錯誤資訊為:", e)
# print(type(e))
# print(e)
information =
" ".join(
("你的輸入不符合規範,錯誤資訊為:"
,str
(e))
)else
: computer = random.randint(1,
3)if1
<= receive <=3:
if receive == computer:
information =
"你和電腦出拳一樣,該局為平局!\n"
elif
(computer - receive)==1
or(computer - receive)==2
: information =
"你出拳為:{},電腦出拳為:{},該局你輸了!\n"
.format
(li[receive-1]
, li[computer-1]
)elif
(receive - computer)==1
or(receive - computer)==2
: information =
"你出拳為:{},電腦出拳為:{},該局你贏了!\n"
.format
(li[receive-1]
, li[computer-1]
)elif receive ==4:
# print("你已退出遊戲!\n")
f.write(
"你已退出遊戲!\n"
)break
else
: information =
"您的輸入有誤,請重新輸入!\n"
finally
:print
(information)
f.write(information)
f.close(
)
正常情況下,當執行到break語句的時候,程式會直接跳出while迴圈,但是經debug除錯發現,當迴圈中存在finally**塊時,break會在跳出迴圈之前會先執行finally中的**再跳出。 迴圈 異常捕獲
1 異常捕獲 我們在程式中經常會出現各種各樣的異常,你如果想要你的程式變得堅強一些。在你的 中應該經常性的使用try catch來進行異常捕獲。哪行 有可能出現異常,你try住它。語法 try 可能會出現異常的 catch 出現異常後要執行的 執行過程 如果 try中的 沒有出現異常,那麼 catc...
while迴圈中break和continue的區別
break 條件一旦滿足,就直接退出整個迴圈,而不再執行迴圈 continue 在迴圈體內部,一旦發現了continue這個關鍵字,會直接跳到迴圈的條件判斷,不會執行continue後續的任何 continue就是繼續,繼續讓 繼續到條件迴圈判斷,而不再執行continue後續的語句 break演示...
while迴圈中continue和break的不同
break語句通常用在迴圈語bai句和開關語句中,當break語句用於do while for while迴圈語句中時,可使程式終止迴圈而執行迴圈後面的語句,通常break語句總是與if語句聯在一起,即滿足條件時便跳出迴圈。break 強行終止while迴圈 例如 while 1 10 print ...