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

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

ValueError:以10為底的int()的無效文字:'stop'

ValueError:以10為底的int()的無效文字:'stop'

料青山看我應如是 2021-03-25 18:19:33
每次我嘗試編碼時,它都可以工作,但是當我鍵入代碼時'stop',會出現錯誤:ValueError:以10為底的int()的無效文字:'stop'def guessingGame():    global randomNum    guessTry = 3    while True:        guess = input('Guess a Number between 1 - 10, You have 3 Tries, or Enter Stop:  ')        if int(guess) == randomNum:            print('Correct')            break        if int(guess) < randomNum:            print('Too Low')            guessTry = guessTry - 1            print('You have, ' + str(guessTry) + ' Guesses Left')        if int(guess) > randomNum:            print('Too High')            guessTry = guessTry - 1            print('You have, ' + str(guessTry) + ' Guesses Left')        if guessTry == 0:            print('You have no more tries')            return        if str(guess) == 'stop' or str(guess) == 'Stop':            break
查看完整描述

3 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

這是一個更加Pythonic(Python 3)的版本。


def guessing_game(random_num):

    tries = 3

    print("Guess a number between 1 - 10, you have 3 tries, or type 'stop' to quit")


    while True:

        guess = input("Your number: ")

        try:

            guess = int(guess)

        except (TypeError, ValueError):

            if guess.lower()  == 'stop' :

                return

            else:

                print("Invalid value '%s'" % guess)

                continue


        if guess == random_num:

            print('Correct')

            return

        elif guess < random_num:

            print('Too low')

        else:

            print('Too high')


        tries -= 1

        if tries == 0:

            print('You have no more tries')

            return


        print('You have %s guesses left' % tries)


查看完整回答
反對 回復 2021-03-26
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

您正在嘗試將字符串“ stop”轉換為整數。該字符串沒有有效的整數表示形式,因此會出現該錯誤。你應該放


if str(guess) == 'stop' or str(guess) == 'Stop':

break

作為第一張支票


另一個建議是在輸入上使用小寫字母,然后檢查小寫字母“ stop”。這樣,您只需要檢查一次,它將捕獲“停止”,“停止”,“斷點”等。


if str(guess).lower() == 'stop':

break


查看完整回答
反對 回復 2021-03-26
  • 3 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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