测验游戏的线程计时器

2024-01-02

我必须在大学里用 Python 做一些练习。所以我需要构建一个问答游戏。要求是:

  • 正确答案得+1分。
  • 错误答案得-1分

玩家必须在 20 秒内回答每个问题。如果玩家回答的时间超过 20 秒,即使他的回答正确,他也会得到 -1 分。

我刚刚尝试过threading and Timer。我的代码是这样的:

from time import *
import threading as th
score = 0

correct_answer = 1
def sctn():  
    global score
    score -=1
    print(score)
S = th.Timer(20.0, sctn)  
S.start()  
answer = int(input("enter : "))

if answer == correct_answer :
    score += 1
else:
    score -= 1
print(score)
S.cancel()

我为正确答案举了一个例子。但是当我运行代码时,如果我输入正确答案超过 20 秒,则得分 = -1 + 1 = 0,或者如果我输入错误答案超过 20 秒,得分 = -1 -1 = -2。


你的代码太多了。有两种情况:如果用户在20秒或更短的时间内输入了正确答案,则获得一分;否则他就会失去一个。

定时器函数不需要做任何事情。当您测试正确答案时,您还可以测试计时器是否已过期。 Timer是Thread的子类,因此它有一个功能is_alive如果它仍在运行,则返回 True。

原始程序的问题在于,一旦计时器到期,答案就不再重要了。但无论如何你都会检查它,因此计时器函数中的 -1 点会添加到答案检查逻辑中的正或负 1 上。

from time import *
import threading as th
score = 0

correct_answer = 1
def sctn():
    pass
S = th.Timer(20.0, sctn)  
S.start()  
answer = int(input("enter : "))

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

测验游戏的线程计时器 的相关文章

随机推荐

  • 评论缩进在 clojure 模式下似乎很混乱

    在 clojure 模式下 emacs 用 5 个选项卡缩进我的分号注释 即使它是空文件中的第一行也会发生这种情况 例如 只需打开一个 clojure 文件 输入 在第一个字符处并按 Tab 键 我使用的是1 7 1版本 这是正常行为 在您
  • Android:无法确保目录

    我一直在使用 Environment getExternalStorage 来存储和管理文件 并且没有任何警告消息logcat用这种方法并且效果很好 但是 我的项目需要使用方法 Context getExternalFilesDir Str
  • Java 8 中 HashMap 哈希函数的更改

    在 java 8 java util Hashmap 中我注意到一个变化from http grepcode com file repository grepcode com java root jdk openjdk 7 b147 jav
  • Java:前缀 - 后缀问题

    我在使用前缀和后缀运算符对数字执行减法时遇到一个小问题 这是我的程序 public class postfixprefix public static void main String args int a 5 int b b a a Sy
  • 将换行符分隔的 JSON blob 的整个文件读取到内存中,并在 golang 中以最少的转换量解组每个 blob?

    我是新手 所以对语言特定的结构不太了解 我的用例是首先将包含以换行符分隔的 JSON blob 的输入文件读入内存 从这个 JSON 源的 数组 中 我想解组每个数组元素以在 golang 中处理它 预期的结构映射已经定义 我通常喜欢一次阅
  • Angular 5 formgroup列表控件或迭代它们

    我正在使用 Angular 5 和 formgorup 并希望迭代控件 以便创建基于表单的动态组件 表单字段由外部数据服务 数据库等 给出 声明如下 check new FormGroup firstName new FormControl
  • 想要一个 JUnitMatchers AssertThat 来测试字符串包含 3 个或更多子字符串(当前使用 assertThat ... 两者 ... 和 ....)

    import static org junit matchers JUnitMatchers both import static org junit matchers JUnitMatchers containsString 现在我检查它
  • 获取socket.io房间中的客户端列表(2.0)

    使用时如何获取房间中所有客户的列表Socket io 2 0 有很多相关的问题 但没有一个是针对2 0版本的 也没有回答这个问题 最接近的答案是 2 0 但仅解释了如何在使用 Redis 时获取客户端列表 这不是使用 socket io 的
  • 致命错误:未捕获 SoapFault 异常:[ns1:Client.AUTH_1] 身份验证失败

    在我的 wsdl 文件中 我有一个用户身份验证块
  • MPI 派生类型发送

    我尝试将派生类型发送到处理器 该类型包含来自其他派生类型的对象 我从开始这个例子示例 结构派生数据类型 https computing llnl gov tutorials mpi Derived Data Types 我添加我的代码 代码
  • 第 80 行的重复键被忽略:“name”rvm

    这似乎没有影响任何东西 只是在我的终端中令人恼火 我经常收到以下警告 有时我收到多个警告 调出不同的线路 有时会收到以下警告 gem 有所不同 但除此之外 这是输出 Users alecwilson rvm gems ruby 2 2 1
  • 矩阵乘法:Strassen 与标准

    I tried to implement the Strassen algorithm http en wikipedia org wiki Strassen algorithm for matrix multiplication with
  • 是否可以仅使用标准 C++ 为 Windows Phone 7 进行编程?

    我知道Windows Phone 7开发的推荐语言是C 然而 由于各种原因 我非常喜欢继续在standardC 如果可能的话 是否可以仅使用标准 C 为 Windows Phone 7 进行编程 如果答案是肯定的 我需要哪些工具和资源来实现
  • OpenCV cv::findHomography 运行时错误

    我用来编译和运行代码Features2D 单应性查找已知对象 http opencv itseez com doc tutorials features2d feature homography feature homography htm
  • 在DataGridView中使用DataTable显示小图片(Icon)

    EDIT 我想使用 DataTable 在 Datagridview 中使用图像 RadioButton 只是本文的一个简单问题格式 让我澄清一下这一点 如何使用绑定样式在 datagridview 上添加这个 图像 或那个 图像 因为 我
  • Zend框架2:如何全局设置区域设置?

    我必须根据用户想要的语言动态更改区域设置 我可以在 Application Module php 中设置区域设置 如下所示 public function onBootstrap MvcEvent e translator e gt get
  • 数据集中的标题 (Matlab)

    我找不到关于 dataset 的任何好的文档 所以这就是为什么我想问你们 我会简短地回答这个问题 我可以在数据集中设置标题 列标题 而不将数据输入到数据集中吗 我想不是 所以问题的第二部分是 我可以制作一个单行数据集 在其中用空数据命名标题
  • LLVM 中的参数转发

    我需要一些关于 转发 参数给被调用者 在 LLVM IR 中 的建议 假设我有一个函数F这就是开头所说的all模块中的其他功能 从F我需要访问 读取 传递给其直接调用者的参数 现在要做到这一点 我将调用者中的所有参数放入一个结构体中 并传递
  • 在 C++11 中使用 future、异步和线程实现搜索

    我想以多线程方式实现分支定界搜索 特别是 我想使用async包装每个分支的搜索调用 然后等待某个线程给出答案 然后退出 理想情况下 我想取消其他线程 但线程取消不在标准中 这是一些简化的代码 include
  • 测验游戏的线程计时器

    我必须在大学里用 Python 做一些练习 所以我需要构建一个问答游戏 要求是 正确答案得 1分 错误答案得 1分 玩家必须在 20 秒内回答每个问题 如果玩家回答的时间超过 20 秒 即使他的回答正确 他也会得到 1 分 我刚刚尝试过th