亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 的不同異常

Python 的不同異常

眼眸繁星 2022-10-06 16:47:09
我正在使用 Python 熱身,需要您的幫助來應用一些例外情況。這是一個簡單的猜謎游戲,用戶輸入輸入并嘗試猜測生成的隨機數。我正在嘗試捕獲用戶輸入從 1 到 50 的數字的異常。為此,我使用了 IndexError。這是我使用的正確錯誤類型嗎?我還輸入了另一個異常,即 ValueError 以防止確保用戶輸入數字,而不是空格。我的問題是如何拋出用戶只輸入 1 到 50 之間的數字的異常?import randomnumber_of_guesses = 0number = random.randint(1,50)name = input('Hi! Enter your name: ')while number_of_guesses < 8:    try:        guess = input("Take a guess between 1 and 50 including ")        guess = int(guess)        number_of_guesses+=1        guesses_left = 8 - number_of_guesses    except IndexError:        print('Please enter a number only between 1 and 50 including')        continue    except ValueError:        print('Enter a number')        continue    if guess>number:        print('Your guess is higher than the actual number',guesses_left,'guesses left')    elif guess<number:        print('Your guess is lower than the actual number',guesses_left,'guesses left')    elif guess==number:        breakif guess==number:    print('Well done! You guessed the number in',number_of_guesses,'tries:')if guess != number:    print('Sorry, the number I was thinking of was',number)
查看完整描述

2 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

歡迎來到 SO 和 python


首先,退一步了解 try/except 塊的作用。


try/是一個結構,其中 Python 將“嘗試”執行代碼塊并通過將 Exception 的類型與子句except指定的錯誤類型相匹配來捕獲任何異常(或意外錯誤)。except


IndexError當您嘗試索引支持索引的對象(例如 a list)并且您指定的索引超出索引范圍時會發生 An ,例如:



my_list = ["a", "b", "c"]


print(mylist[0])

# will print "a"


print(my_list[4])

# with raise in IndexError as index 4 doesn't exist.

在您的示例中,在傳遞非整數參數值時ValueError調用 to 引發。int因為你沒有索引任何東西IndexError都沒有提出。


至于將 if/else 放在 try 塊之內還是之外。通過將其放在 try 塊中,可以捕獲 if/else 塊中引發的任何異常。在這兩種情況下,if/else 塊的行為保持不變。


查看完整回答
反對 回復 2022-10-06
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

對于索引錯誤,您需要索引一個列表

a = [1 , 2, 3]
print(a[5])

通過在 try 中放置語句,您可以捕獲程序中的異常并可以自己處理問題,以便程序繼續運行。

在嘗試之外會導致異常錯誤并且程序中止。


查看完整回答
反對 回復 2022-10-06
  • 2 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號