While迴圈中的異常捕獲

2021-10-14 05:40:47 字數 1659 閱讀 7315

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 ...