ValueError:以 10 为基数的 int() 的文字无效:“stop”

2023-12-09

每次我尝试代码时它都能工作,但是当我输入时'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

字符串传递给int()应该只包含数字:

>>> int("stop")
Traceback (most recent call last):
  File "<ipython-input-114-e5503af2dc1c>", line 1, in <module>
    int("stop")
ValueError: invalid literal for int() with base 10: 'stop'

一个快速解决方法是使用异常处理 here:

def guessingGame():
    global randomNum
    global userScore
    guessTry = 3

    while True:
        guess = input('Guess a Number between 1 - 10, You have 3 Tries, or Enter Stop:  ')
        try:
            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
        except ValueError:
            #no need of str() here
            if guess.lower() == 'stop':
                break
guessingGame()

你可以使用guess.lower() == 'stop'匹配“stop”的任何大小写组合:

>>> "Stop".lower() == "stop"
True
>>> "SToP".lower() == "stop"
True
>>> "sTOp".lower() == "stop"
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ValueError:以 10 为基数的 int() 的文字无效:“stop” 的相关文章

随机推荐

  • 承载者代表什么?

    在 jwt 令牌的上下文中 使用了 承载者 一词 我在谷歌上找不到很多关于承载者的信息 我想知道这些术语来自哪里以及它代表什么 为什么它有前缀 为什么它有前缀 因为否则它只是一堆没有任何上下文的随机字符 除了知道它是某种类型的授权的一些 信
  • 调用 ServiceBase.OnStart 和 OnStop...同一个实例?

    所以我有一个用 C 编写的 Windows 服务 服务类源自ServiceBase 并启动和停止服务调用实例方法OnStart and OnStop分别 这是该课程的 SSCE partial class CometService Serv
  • JSP和Servlet之间的通信?

    我有一个与 servlet 后端通信的 jsp 页面 到目前为止 我与该 servlet 通信的方式是通过 getJSON 这是一种 JQuery 方法 如果我想要发回的数据采用 key value 的形式 那么这非常有用 但是 现在我需要
  • 在 iOS 中离线打开和存储加密文档

    我已下载加密文件并可在文件夹中离线查看 我想知道 如何在适当的阅读器中打开它们 因为这些是 MS Office 文档和 Prezi 格式 我想它们必须是未加密的 以便读者可以阅读它们 但在这种情况下如何确保安全 使用哪个文件夹来避免 iCl
  • 从 AJAX POST 响应获取并存储 cookie(来自 Set-Cookie)

    我有一个简单的 jQuery AJAX POST 代码 ajax type POST url AppConstants URLs PROXY data message xhrFields withCredentials true succe
  • 能不能把每一个递归都改成迭代呢?

    Is every递归函数可以转换为迭代吗 递归函数应该具有什么特征才能使用迭代来实现 我一直在尝试使用迭代来定义以下函数 但似乎不行 它应该探索迷宫中的所有路径 节点 任何人都可以使用迭代重写这个吗 如果不可能 为什么不呢 typedef
  • 如何在 swift 中通过通知传递多个值

    如何通过通知发送号码和字符串 let mynumber 1 let mytext mytext NSNotificationCenter defaultCenter postNotificationName refresh object 并
  • 如何在Delphi中使用DST将历史时间戳转换为不同的时区?

    我需要在 Delphi Win32 中将历史时间戳从 GMT 转换为 BST 我无法使用操作系统中的当前区域设置进行转换 因为它没有历史时间的正确夏令时 DST 偏移量 是否有我可以使用的 VCL API 或 Win32 API 德尔福TZ
  • VLCJ - 在 Eclipse 中播放“res”文件夹中的视频效果很好,但不能播放可执行 JAR 文件中的视频

    我在项目内的 res media 文件夹中放置了一个 MP4 视频 我可以使用这段代码轻松地从 Eclipse 在我的应用程序中播放该视频 String url getClass getResource media video mp4 ge
  • 将数据从主程序传递到渲染器(电子js)

    我正在摆弄电子 在我的应用程序中 我有一个 Javascript 对象 其中包含我的应用程序的所有设置 该对象有一个名为 渲染器 的键 我想将其传递到渲染窗口以将所有设置保存在一个方便的位置 我一直在查看文档 我发现的最好方法如下 除了通过
  • 如何在 Javascript 中使用循环(forEach、map 等)将数组转换为对象

    From id 0001 name Jack completeName Jack Smith id 0002 name Mary completeName Mary Jackson id 0003 name John completeNam
  • 过滤掉不包含指定子字符串的数组值

    我想知道如何过滤数组以删除不包含指定字符串的值 Example array January February March April to search uary not case sensitivity result somefuncti
  • django-rest-framework 3.0 在嵌套序列化器中创建或更新

    With django rest framework 3 0并拥有这些简单的模型 class Book models Model title models CharField max length 50 class Page models
  • 将参数传递给 SQL select 语句 IN 子句的行为很奇怪。

    我有以下查询返回 2 条记录 在 DataSet 的查询构建器中 SELECT EmpID Name id FROM Users WHERE CAST id AS Varchar 20 IN 5688 5689 现在 如果我执行相同的查询
  • 如何从代码隐藏调用javascript函数?

    我想从页面后面的代码执行javascript函数 我有两种方法 首先我可以在后面的代码中调用html页面的javascript 其次 我可以将 javascript 函数写入我的代码后面 但我不知道哪一个更好 我该如何做到这一点 请告诉我我
  • LinkedIn 公司动态

    我是 LinkedIn 公司页面的所有者和管理员 https www linkedin com company id 我想连接到 LinkedIn 并返回一个 JSON 源 其中包含我公司墙上的最新 10 篇帖子 以显示在我的网站上 因此我
  • 使用 JavaScript 验证印度货币的正则表达式

    谁能告诉我如何使用正则表达式检查文本框中输入的金额 印度货币 是否有效 我的条件很少 金额不得包含超过 1 个小数点 但可以有一个小数点 如果有小数点 则后面应跟一位或多位数字 金额只能包含数字 最多一位小数 如果我输入像 10 000 这
  • 无法运行Opengl程序

    我从 OpenGL superible 第五版中获取了这个程序 我按照书中所说的那样设置了所有内容 包括路径 还包括项目的现有项目 然后我在项目中创建了一个新的c 文件 并复制粘贴我从官方网站下载的代码 Block cpp OpenGL S
  • CYPRESS REMIX 错误:Webpack 编译错误

    我目前使用 Remix 的独立堆栈 但尝试使用 cypress 运行测试时 在 cypress 浏览器中向我发送了该错误 有人有类似的问题吗 我从头开始使用独立堆栈 https github com remix run indie stac
  • ValueError:以 10 为基数的 int() 的文字无效:“stop”

    每次我尝试代码时它都能工作 但是当我输入时 stop 它给了我一个错误 ValueError 以 10 为基数的 int 的文字无效 stop def guessingGame global randomNum guessTry 3 whi