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

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

蟒蛇嘗試,除了不給出預期值

蟒蛇嘗試,除了不給出預期值

米琪卡哇伊 2022-09-20 17:44:47
這是我的蟒蛇程序def try_ec(argument):    try:        int(argument)    except:        argument = input("Please enter a valid value: ")a = []score = 0first = input("First Number: ")try_ec(first)first = int(first)second = input("Second Number: ")try_ec(second)second = int(second)錯誤我試圖從用戶那里獲取一個整數,我正在使用try,除非用戶錯誤地輸入了一個字符串。但是,我的代碼給出了此錯誤。如何使代碼正確?
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

這是因為您改變了區域設置變量。第一的價值永遠不會改變。


請考慮以下示例


a = 5


def mut(arg):

  arg = 6


mut(a)

print(a) // 5

這是因為 arg 是傳入的參數的本地副本,它只存在于該函數作用域中。


這就是我們如何做到這一點,


a = 5


def mut(arg):

  arg = 6

  return arg



a = mut(a)

print(a) // 6

通過返回新的計算值并將其分配給我們的初始變量。


查看完整回答
反對 回復 2022-09-20
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

您可以使用遞歸調用方法將其轉換為 。Int


   def try_ec(argument):

        try:

            return int(argument)

        except:

            inpt = input("Please enter a valid value: ")

            try_ec(inpt)



    a = []

    score = 0

    first = input("First Number: ")

    first = try_ec(first)

    second = input("Second Number: ")

    second = try_ec(second)


查看完整回答
反對 回復 2022-09-20
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

您必須使用 while 循環來檢查該過程,直到它正確為止。


例如:


def take_int_input(text):

    while True:

        argument = input(text)

        try:

            return int(argument)

        except:

            print("Please enter a valid value!")





first = take_int_input("First Number: ")

second = take_int_input("Second Number: ")


查看完整回答
反對 回復 2022-09-20
  • 3 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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