Python。 while 循环中的变量未更新。

2023-12-20

我对编程非常陌生,我在编写一个基本的猜谜游戏时遇到了问题。 x是计算机生成的随机数。该程序应该比较 (previous_guess - x) 的绝对值和新猜测减去 x 并告诉用户他们的新猜测是否更近或更远。

但变量 previous_guess 并未使用新值进行更新。 任何帮助,将不胜感激。

这是到目前为止的代码:

    ###Guessing Game
import random

n = 100
x = random.randint(1,n)
print("I'm thinking of a number between 1 and ", n)

##print(x) ## testing/cheating.
count = 0

while True:
    previous_guess = 0 # Should update with old guess to be compared with new guess
    guess = int(input("Guess the number, or enter number greater that %d to quit." % n))
    count += 1

    print(previous_guess)
    print("Guesses: ", count)

    if guess > n:
        print("Goodbye.")
        break

    elif count < 2 and guess != x: 
        print("Unlucky.")
        previous_guess = guess #####

    elif count >= 2 and guess != x:
        if abs(guess - x) < abs(previous_guess - x):
            previous_guess = guess #####

            print("Getting warmer...")
        else:
            previous_guess = guess #####
            print("Getting colder...")

    elif guess == x:
        print("You win! %d is correct! Guessed in %d attempt(s)." % (x,count))
        break 

每次循环时,您之前的猜测都会被重新初始化。这是编程中非常常见的错误,因此不仅仅是您!

将其更改为:

previous_guess = 0
while True:
   #Rest of code follows

当类似的事情出现时,你应该考虑一些事情。

  1. 你的变量在哪里声明的?
  2. 你的变量在哪里初始化的?
  3. 你的变量在哪里使用?

如果您不熟悉这些术语也没关系!抬头看看!作为一名程序员,你必须擅长谷歌搜索或搜索文档(或者询问有关堆栈溢出的问题,看起来你已经弄清楚了)。

对于编写有效的代码来说至关重要的另一件事是学习如何调试。

谷歌“python 调试教程”,找到一个有意义的(确保你能真正遵循该教程),然后就可以开始了。

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

Python。 while 循环中的变量未更新。 的相关文章

  • min() arg 是一个空序列

    我试图找到矩阵行中的最小元素 但有两个条件 1 它必须 gt 0 2 并且这个点一定不能被访问 is visited k is False 我下一步正在尝试做 min x for x in matr sum i if x gt 0 if i
  • pydev 断点不起作用

    我正在使用 python 2 7 2 sqlalchemy 0 7 unittest eclipse 3 7 2 和 pydev 2 4 开发一个项目 我在 python 文件 单元测 试文件 中设置断点 但它们被完全忽略 之前 在某些时候
  • 在 Python 中,部分函数应用(柯里化)与显式函数定义

    在 Python 中 以下方式是否被认为是更好的风格 根据更一般的 可能是内部使用的功能显式定义有用的功能 或者 使用偏函数应用来显式描述函数柯里化 我将通过一个人为的例子来解释我的问题 假设编写一个函数 sort by scoring 它
  • 生成 Flask 中使用的签名会话 cookie 值

    我正在用另一个需要将项目注入会话的 Flask 服务器代理 Flask 服务器 两台服务器具有相同的密钥 因此加密签名将相同 当使用 Flask 和会话时 http 响应包含一个 Set Cookie 标头session text 其中 t
  • 当语料库有100亿个独特的DNA序列时,如何使用BK树实现快速模糊搜索引擎?

    我正在尝试使用BK tree https news ycombinator com item id 14022424python 中的数据结构 用于存储约 100 亿个条目的语料库 1e10 以实现快速模糊搜索引擎 一旦我添加超过 1000
  • 如何在 Python 2.4 CSV 阅读器中禁用引用?

    我正在编写一个 Python 实用程序 需要解析一个我无法控制的大型且定期更新的 CSV 文件 该实用程序必须在仅提供 Python 2 4 的服务器上运行 CSV 文件根本不引用字段值 但Python 2 4版本的csv库 http ww
  • 如何将 UPX 与 pyinstaller 一起使用?

    如何将 UPX 与 pyinstaller 一起使用 我正在关注文档 我已经下载了UPX 我的文件如下所示 import csv import selenium import pandas print Hello 然后我运行 pyinsta
  • Python实时读取串口数据

    我正在使用 Python 中的脚本通过串行端口以 2Mbps 的速度从 PIC 微控制器收集数据 PIC 在 2Mbps 下完美定时工作 FTDI USB 串行端口在 2Mbps 下工作也很好 均通过示波器验证 我每秒发送消息 大小约为 1
  • 使用pip安装pylibmc时出错

    您好 当我尝试使用 pip 在 OSX Lion 上安装 pylibmc 时 出现以下错误 pylibmcmodule h 42 10 fatal error libmemcached memcached h file not found
  • Django Rest Framework 序列化器中的聚合(和其他带注释的)字段

    我正在尝试找出添加带注释字段的最佳方法 例如将任何聚合 计算 字段添加到 DRF 模型 序列化器 我的用例只是一种情况 端点返回的字段未存储在数据库中 而是从数据库计算得出 让我们看下面的例子 模型 py class IceCreamCom
  • 是否可以在 Jupyter 笔记本中显示控制台?

    我希望能够使用 Jupyter 笔记本中的控制台在环境中进行摆弄 添加额外的单元格意味着我总是必须滚动到最底部或在我想要 类似控制台 文本字段的任何地方创建新单元格 是否可以有一个永久的控制台窗口 例如在窗口底部 Thanks 您可以启动连
  • 自适应支付 API 错误 580001

    我正在 python 中向 paypal 自适应支付 API 发出 PAY 请求 并收到通用错误 id 580001 没有其他信息 headers API credentials for the API caller business ac
  • 模拟类:Mock() 还是 patch()?

    我在用mock http www voidspace org uk python mock index html使用Python 想知道这两种方法中哪一种更好 阅读 更Pythonic 方法一 只需创建一个模拟对象并使用它 代码如下 def
  • Tkinter 如何根据此组合框自动更新第二个组合框

    我在 Tkinter Python 中遇到了组合框更新的问题 我有两个组合框 组合框A with values A B C and 组合框B 我想要的是 当值A在组合框中选择A然后在组合框中B显示值 1 2 3 当值B在组合框中选择A然后在
  • 收到“/:未找到事件。”使用 PyCharm 远程调试器时

    当我使用 PyCharm 通过 ssh 进行远程调试时tcsh shell 服务器 很多时候它停止工作 并显示 未找到事件 更具体地说 我在 pycharm 调试控制台中遇到以下内容 ssh username hostserver 22 p
  • 枚举上的 random.choice

    我想用random choice on an Enum I tried class Foo Enum a 0 b 1 c 2 bar random choice Foo 但是这段代码失败了KeyError 我怎样才能随机选择一个成员Enum
  • Python 包安装:pip 与 yum,还是两者一起安装?

    我刚刚开始管理 Hadoop 集群 我们使用 Bright Cluster Manager 直至操作系统级别 CentOS 7 1 然后使用 Ambari 以及适用于 Hadoop 的 Hortonworks HDP 2 3 我不断收到安装
  • python 相当于 sed

    有没有一种方法 无需双循环即可完成以下 sed 命令的操作 Input Time Banana spinach turkey sed i Banana s Toothpaste file Output Time BananaToothpas
  • 设置字符串中单词或字符数的限制

    假设我有一个字符串元素列表 wordlist hi what s up home diddle mc doo Oh wise master kakarot hello have a da 我希望列表中的每个元素最多包含 3 个单词或 20
  • float() 参数必须是字符串或数字,而不是“时间戳”

    我无法使 scilearn 与日期时间系列一起工作 找到了这篇文章 但对我没有帮助 Pandas 类型错误 float 参数必须是字符串或数字 https stackoverflow com questions 41256626 panda

随机推荐

  • 为什么我会收到模板函数指针的链接器错误?

    我有一个 EventMgr 类 它有一个模板函数来注册侦听器 但是 当我注册监听器时 链接器给了我一个 错误 LNK2019 无法解析的外部符号 开胃菜代码 class EventMgr template lt class T class
  • 如何导入 .R 文件并为其指定别名?就像 import myfile.R as mf

    R 初学者 真的很想念 Python import pandas as pd import my file which is just a file not a package as mf out mf my cool function 我
  • indexedDB openCursor 事务成功返回空数组

    req db openCursor req customerData new Array a 1 req onsuccess function e var cursor e currentTarget result if cursor co
  • 如何撤消供应商/宝石捆绑安装

    I ran bundle install vendor gems所有宝石都按预期保存到宝石目录中 但是当我像这样删除它们时 rm rf vendor gems rails s Could not find rake 0 9 2 2 in a
  • C 库的 Qt 包装器

    我正在开发一个主要基于 C 库的 QT 项目 我喜欢 QT 的工作方式 并且想为我正在使用的每个 C 库制作一个 C 包装器 具有类似的 QT 风格 您有什么建议和建议 我应该做什么 不应该做什么 我想听到基于现实生活经验的答案 Thank
  • 使用 awk 将单个空格作为字段分隔符

    我正在处理一个文件 其中字段由单个空格分隔 awk 解释 FS 作为 一个或多个空格 当其中一个字段为空时 它会误读我的文件 我尝试使用 后面没有空格的空格 作为 FS 但 awk 不支持负向前瞻 简单的谷歌查询 如 单空格字段分隔符 aw
  • 使用 JavaScript 在 div 标签上添加点击事件

    我有一个div在我的表单中标记没有id财产 我需要设置一个on click对此事件div tag 我的 HTML 代码 div class drill cursor div 我不想添加id财产归我div tag 我怎样才能添加一个on cl
  • 从 Java 文本文件中删除特定行?

    我想从文本文件中删除特定行 我找到了那条线 但下一步该怎么办 任何想法 从流中读取文件并将其写入另一个流并跳过要删除的行
  • DIV 背景图像溢出

    我有一个带有背景图像的 DIV 元素 我希望它溢出到 DIV 的尺寸之外 它现在会切断图像 因为图像比 DIV 大 这可能吗 overflow visible不起作用 您可以通过替代方式完成此操作 box margin 50px 0 0 p
  • ASP.NET Web 应用程序/网站中的 IP 地址阻止列表

    我有一组IP地址 部署应用程序后 我希望只能从特定 IP 地址访问我的应用程序 如何使用 Global asax 而不是通过 IIS 实现此目的 This http www hanselman com blog AnIPAddressBlo
  • PyScripter 是否有 Mercurial 或 Git 版本控制插件? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用 Python 3 x 和 PyScripter 来编写脚本 我真的很怀念 PyScripter
  • JSON、REST、SOAP、WSDL 和 SOA:它们如何链接在一起

    目前正在做一些考试 我正在努力解决一些概念 这些确实在我的笔记中 提到 过 但我并不真正理解它们是如何联系在一起的 据我的理解是 SOA 一种使服务消费者 提供者进行通信的解决方案 据我所知 这是其他一切的总称 WSDL 一种描述提供者服务
  • 如何使用 Swift 在 OS X 上读取 Finder 图标(左侧源列表)

    我尝试阅读有关左侧源列表中的查找器中显示的图标的信息 我已经尝试过了NSFileManager有以下选项 NSURLEffectiveIconKey读取的图标与 Finder 中的图标不同 NSURLCustomIconKey 返回零 NS
  • 实体管理器的正确使用方法是什么

    我在 Jersey JAX RS 中有一个 REST 客户端 它接受请求 然后使用 Hibernate 的 JPA 实现从数据库检索数据并返回 JSON 使用共享实体管理器 性能相当不错 但如果有多个请求 我会从 Hibernate 收到异
  • 将 byte[] 转换为 byte[]

    有谁知道一种有效的方法来将 C 中的 2d 数组 非锯齿状 展平为 1d 并再次返回 我知道在后端 C 必须将其作为一维数组保存 如果可能的话 我只想获得后端一维数组的句柄 我想这样做的原因是因为我希望能够在托管代码中将其作为 2d 有时我
  • 是否可以将 docker 端口暴露给特定接口

    我的服务器有两个网络接口 eth0 和 wlan0 一个连接到互联网 另一个连接到内部网络 目前使用 docker compose 将 Docker 容器端口暴露到特定接口的解决方案是使用 version 2 services mosqui
  • 将字符串转换为 SHA1 和 Base64

    我在转换字符串时遇到问题 假设 TestPassword 转换为 SHA1 和 base64 一般来说 根据该网站 http www online convert com result 1f76972748a7d186198171e9a11
  • CXF 的 WS-security(用户名令牌)- 可以加密密码吗?

    我正在尝试与 CXF 的 WS 安全实现 usernametoken 合作 我已经按照上面所说的做了一切http cxf apache org docs ws security html http cxf apache org docs w
  • 允许在加入节点执行多个事件操作

    是否允许在一个连接节点使用多个事件 如下所示 或者是可以用来描述活动流程的虚构令牌 只是在第二个事件出现之前的某一时刻出现并消失了 是否允许在一个连接节点使用多个事件 Yes a JoinNode is a 控制节点同步多个流 是虚构的标记
  • Python。 while 循环中的变量未更新。

    我对编程非常陌生 我在编写一个基本的猜谜游戏时遇到了问题 x是计算机生成的随机数 该程序应该比较 previous guess x 的绝对值和新猜测减去 x 并告诉用户他们的新猜测是否更近或更远 但变量 previous guess 并未使