当前位置: 首页 > news >正文

Pygame中Trivia游戏解析6-2

3.1.2 读取保存题目的文件

在Trivia类的__init__()方法中,对各变量初始化完成之后,读取保存题目的文件,代码如下所示。

f = open(filename, "r", encoding='utf8')
trivia_data = f.readlines()
f.close()

其中,open()函数的作用是打开文件,该函数的第一个参数filename是Trivia类的参数,在定义该类的对象时指定,表示保存题目的文件名。

相关链接1

 《Python中文件的读取》

  《Python中读取与写入文件时的编码方式》

3.1.3 处理读取到的文件

在《Python中文件的读取》中提到,readlines()函数会读取每一行的换行符,因此需要将该符号去掉,代码如下所示。

for text_line in trivia_data:self.data.append(text_line.strip())self.total += 1

以行为单位,将数据添加到data中,每添加一行,total加1。

3.2 Trivia类的print_text()函数

该函数的作用是在指定的位置,以指定的字体、颜色和阴影效果显示指定的内容。代码如下所示。

def print_text(font, x, y, text, color=(255,255,255), shadow=True):if shadow:imgText = font.render(text, True, (0,0,0))screen.blit(imgText, (x-2,y-2))imgText = font.render(text, True, color)screen.blit(imgText, (x,y))

其中,参数font表示指定的字体;x和y表示指定位置;text表示指定内容,color表示指定颜色;shadow表示是否使用阴影效果,True表示使用,False表示不使用。在函数内部,如果shadow是True,则表示使用阴影效果,screen.blit()函数的x-2,y-2参数表示显示阴影(与最后一行代码中的screen.blit()函数配合使用)。

相关链接2:

《Pygame显示文字》

相关文章:

Pygame中Trivia游戏解析6-2

3.1.2 读取保存题目的文件 在Trivia类的__init__()方法中,对各变量初始化完成之后,读取保存题目的文件,代码如下所示。 f open(filename, "r", encodingutf8) trivia_data f.readlines() f.close() 其中,open()函数…...

java 实现命令行模式

命令模式是一种行为设计模式,它允许您将请求封装为对象,以便您可以将其参数化、队列化、记录和撤销。在 Java 中实现命令模式涉及创建一个命令接口,具体命令类,以及一个接收者类,该接收者类执行实际操作。下面是一个简…...

A - Orac and Models(最长上升子序列——加强版)

There are nn models in the shop numbered from 11 to nn, with sizes s_1, s_2, \ldots, s_ns1​,s2​,…,sn​. Orac will buy some of the models and will arrange them in the order of increasing numbers (i.e. indices, but not sizes). Orac thinks that the obtai…...

【python手写算法】逻辑回归实现分类(含公式推导)

公式推导: 代码实现: # codingutf-8 import matplotlib.pyplot as plt import numpy as npdef f(w1,x1,w2,x2,b):zw1*x1w2*x2breturn 1/(1np.exp(-z)) if __name__ __main__:X1 [12.46, 0.25, 5.22, 11.3, 6.81, 4.59, 0.66, 14.53, 15.49, 14.43,2.1…...

【2023高教社杯数学建模国赛】ABCD题 问题分析、模型建立、参考文献及实现代码

【2023高教社杯数学建模国赛】ABCD题 问题分析、模型建立、参考文献及实现代码 1 比赛时间 北京时间:2023年9月7日 18:00-2023年9月10日20:00 2 思路内容 可以参考我提供的历史竞赛信息内容,最新更新我会发布在博客和知乎上,请关注我获得最…...

yum安装mysql5.7散记

## 数据源安装 $ yum -y install wget $ wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm $ yum localinstall mysql57-community-release-el7-8.noarch.rpm $ yum repolist enabled | grep "mysql.*-community.*" $ yum install mysql-…...

DNS解析

1.DNS介绍 DNS 表示域名系统。此系统实质上是用于整理和识别各个域名的网络电话簿。电话簿将“Acme Pizza”之类的名称转换为要拨打的正确电话号码,而 DNS 将“www.google.com”之类的网络地址转换为托管该网站的计算机的物理 IP 地址,如“74.125.19.147…...

从jdk8 升级到jdk17的问题总结

目录 1. java.lang.reflect.InaccessibleObjectException: 2. java.lang.UnsatisfiedLinkError in autosys 3. java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser 4. java.lang.UnsatisfiedLinkError: **…...

一百七十二、Flume——Flume采集Kafka数据写入HDFS中(亲测有效、附截图)

一、目的 作为日志采集工具Flume,它在项目中最常见的就是采集Kafka中的数据然后写入HDFS或者HBase中,这里就是用flume采集Kafka的数据导入HDFS中 二、各工具版本 (一)Kafka kafka_2.13-3.0.0.tgz (二)…...

pnpm 升级

1. 在以下路径下删除pnpm包 2. 执行which pnpm,在结果目录中删除pnpm 3. sudo npm install -g pnpm 重新安装,node默认使用16...

有关使用HttpServletRequest的Cookie的设置和获取

文章目录 小结问题和解决参考 小结 介绍了如何在HttpServletRequest中对Cookie的进行设置和获取。 问题和解决 在服务器端的HttpServletRequest中对Cookie的进行设置后,客户端在接下来的请求中会携带此设置好的Cookie,所以可以在服务器端接收请求时提…...

关于 Nginx 的哪些事

关于 Nginx 的哪些事 1、Nginx 主要功能2、Nginx 的常用命令2.1、启动Nginx2.2、停止 Nginx2.3、重新加载Nginx 配置2.4、检查Nginx配置文件2.5、指定配置文件2.6、检查Nginx版本2.7、显示Nginx帮助信息 3、Nginx 配置文件 nginx.conf3.1、Nginx 配置文件(nginx.con…...

插入排序——希尔排序

1、简述: 希尔排序(Shells Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。 希尔排…...

C语言之初阶总结篇

目录 NO.1 NO.2 NO.3 NO.4 NO.5 NO.6 NO.7 NO.8 NO.9 NO.10 NO.11 NO.12.概念tips NO.13.求最小公倍数 NO.14.最大公因数 NO.15.输入读取字符串 NO.16.倒置字符串 今天是一些C语言题目,最近天气炎热,多喝水。 NO.1 下面程序执行后&am…...

Android签名查看

查看签名文件信息 第一种方法: 1.打开cmd,执行keytool -list -v -keystore xxx.keystore,效果如下图: 第二种方法: 1.打开cmd,执行 keytool -list -v -keystore xxxx.keystore -storepass 签名文件密码&#xff0…...

Educational Codeforces Round 3

目录 A. USB Flash Drives B. The Best Gift C. Load Balancing D. Gadgets for dollars and pounds A. USB Flash Drives #include<bits/stdc.h>using namespace std; const int N1e65; typedef long long ll; typedef pair<ll,ll> pll; typedef array<int…...

Docker Compose常用命令

常用命令 1.1 restart, start, stop-- 启动和停止服务 命令必须在 docker-compose.yml文件所在的目录下执行。 # 前台启动, 启动项目中的所有服务。 $. docker-compose up# 后台启动, 启动所有服务并在后台运行。 $. docker-compose up -d# 停止所有服务。 $. docker-compose …...

C++——智能指针

智能指针 文章目录 智能指针内存泄漏智能指针解决内存泄漏问题智能指针的使用及原理RAII智能指针对象的拷贝问题 C中的智能指针auto_ptrunique_ptrshared_ptrweak_ptr定制包装器C11和boost中智能指针的关系 内存泄漏 什么是内存泄漏&#xff1a;内存泄漏指因为疏忽或错误造成程…...

CVE-2023-3836:大华智慧园区综合管理平台任意文件上传漏洞复现

文章目录 CVE-2023-3836&#xff1a;大华智慧园区综合管理平台任意文件上传漏洞复现0x01 前言0x02 漏洞描述0x03 影响范围0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 CVE-2023-3836&#xff1a;大华智慧园区综合管理平台任意文件上传漏洞复现 0x01 前言 免责声…...

LAMP搭建WordPress

L linux A apache hhtpd M mysql/maridb P PHP1、 安装php yum -y install php php-fpm php-server php-mysql1.1、 启动php-fpm并自启 systemctl enable php-fpm --now[rootecs-1cee ~]# systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process ManagerLoa…...

2025版等离子体期刊分区解析:从PRL到PPAP的投稿指南

1. 2025版等离子体期刊分区概览 对于从事等离子体研究的科研人员来说&#xff0c;选择合适的期刊投稿是研究成果传播的关键一步。2025版中科院期刊分区将等离子体相关期刊划分为三个主要层级&#xff0c;每个层级都有其独特的定位和特点。 先说说最顶级的中科院一区期刊。这个层…...

Oracle PL/SQL避坑指南:处理超多列(2K+)数据导出到CSV的Loop循环写法

Oracle PL/SQL超宽表处理实战&#xff1a;2000列数据高效导出方案 1. 超宽表数据处理的核心挑战 在制造业质量检测、金融风控报表等场景中&#xff0c;我们经常会遇到列数超过2000的超宽表数据处理需求。这类表格通常包含大量测试指标、传感器数据或多维分析结果&#xff0c;传…...

突破Twitter数据限制:Rettiwt-API开源工具零成本数据获取指南

突破Twitter数据限制&#xff1a;Rettiwt-API开源工具零成本数据获取指南 【免费下载链接】Rettiwt-API An API for fetching data from Twitter for free! 项目地址: https://gitcode.com/gh_mirrors/re/Rettiwt-API 在社交媒体数据驱动决策的时代&#xff0c;Twitter作…...

ClawdBot个人AI助手5分钟快速部署:零基础搭建本地智能聊天机器人

ClawdBot个人AI助手5分钟快速部署&#xff1a;零基础搭建本地智能聊天机器人 1. 项目介绍 ClawdBot是一个可以在本地设备上运行的个人AI助手&#xff0c;基于vLLM提供后端模型能力。这个开源项目让用户能够快速搭建自己的智能聊天机器人&#xff0c;无需复杂的配置过程。 1.…...

7个维度解锁洛雪音乐音源:从新手到专家的全方位指南

7个维度解锁洛雪音乐音源&#xff1a;从新手到专家的全方位指南 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 洛雪音乐音源作为GitHub加速计划的重要组成&#xff0c;是一款专注于音乐资源聚合的…...

手机号定位终极指南:3分钟掌握号码背后的位置秘密

手机号定位终极指南&#xff1a;3分钟掌握号码背后的位置秘密 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://gitcode.com/gh_mirrors/…...

用PyTorch从零搭建U-Net:手把手教你搞定遥感图像分割(附完整代码)

用PyTorch从零搭建U-Net&#xff1a;手把手教你搞定遥感图像分割&#xff08;附完整代码&#xff09; 遥感图像分割是计算机视觉领域的重要应用方向&#xff0c;尤其在农业监测、城市规划、灾害评估等场景中发挥着关键作用。对于刚接触深度学习实践的开发者来说&#xff0c;从…...

nli-distilroberta-base在数据库智能查询中的应用:自然语言转SQL实战

nli-distilroberta-base在数据库智能查询中的应用&#xff1a;自然语言转SQL实战 1. 引言&#xff1a;当自然语言遇上数据库查询 "帮我找出上个月销售额超过10万的产品"——这样的需求如果能让数据库直接理解该多好&#xff1f;传统SQL查询需要专业技术人员编写复杂…...

Python实战:M3FD红外数据集高效转YOLO格式的完整指南

1. 为什么需要转换M3FD数据集格式 红外目标检测在夜间安防、自动驾驶等领域越来越重要&#xff0c;而M3FD作为优质的红外数据集却采用了VOC格式标注。这就像你买了台进口电器&#xff0c;却发现插头不匹配国内插座——虽然东西是好东西&#xff0c;但直接使用会遇到麻烦。 YO…...

搞懂 SAPUI5 Application Index:为什么你的 Fiori 应用改完了,系统却像没看见一样

在 SAP Fiori 项目里,开发团队最容易忽略的一件事,不是 OData 服务,也不是 Component.js,而是 SAPUI5 Application Index。很多人会遇到这样一种场景:应用代码已经传输完成,BSP 资源也在系统里了,manifest.json 也改过了,可是 Fiori Launchpad 仍然表现得像什么都没发生…...