20242221 实验一《Python程序设计》实验报告

news/2025/3/18 0:22:52/文章来源:https://www.cnblogs.com/milliezhou/p/18778062

20242221 2024-2025-2 《Python程序设计》实验一报告

课程:《Python程序设计》
班级: 2422
姓名: 周侯妤
学号:20242221
实验教师:王志强
实验日期:2021年3月12日
必修/选修: 公选课

1.实验内容

本实验设计了一个基于Python的猜数字游戏程序,游戏难度会随着玩家的选择变化,随着游戏难度的提升,目标数字的范围会逐步扩大,从最初的1到30,逐步增加到1到100。

  1. 实验过程及结果

程序启动后,向玩家介绍游戏规则,并提示玩家选择游戏难度(即数字范围)。每轮游戏开始时,程序随机生成一个目标数字。玩家输入猜测数字后,程序会判断猜测结果:如果猜测数字小于目标数字,提示“太小了”。如果猜测数字大于目标数字,提示“太大了”。如果猜对目标数字,提示“恭喜你猜对了”,并结束当前轮次,即游戏结束。

程序设计:

import random

print("""

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

欢迎来到猜数字游戏!

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

""")

level = int(input("请输入难度(三岁小孩:30,五岁小孩:50,十岁小孩:100,......):"))

luckynum = random.randint(1,level)

guess = int(input("请输入你猜的数字:"))

max_guesses = int(level * 0.2) # 根据难度级别设置猜测次数,例如难度100时,猜测次数为20

guesses = 0

while guesses < max_guesses:

guess = int(input("请输入你猜的数字:"))

if guess == luckynum:

print("恭喜你,猜对了!哈哈哈哈")

break

elif guess > luckynum:

print("大了,请继续输入你猜的数字:")

else:

print("小了,请继续输入你猜的数字:")

guesses += 1

else:

print(f"很遗憾,你没有猜中。我想的数字是{luckynum}。")

while True:

if guess == luckynum:

print("恭喜你,猜对了!哈哈哈哈")

if guess < 1 or guess > level:

print(f"输入无效,请输入1到{level}之间的数字!")

else:

break

except ValueError:

print("输入无效,请输入一个整数!")

break

else:

print("哈哈,你猜错了!")

if guess > luckynum:

guess = int(input("大了,请继续输入你猜的数字:"))

else:

guess = int(input("小了,请继续输入你猜的数字:"))

3.实验过程中遇到的问题和解决过程
问题1:游戏页面不美观,影响用户兴趣
问题1解决方案:在代码开始引入外观设计,增加程序厚度。
问题2:如果玩家输入的不是整数(例如字母、符号或空值),程序会抛出 ValueError 异常并崩溃。如果玩家输入的数字超出指定范围(例如小于1或大于设定的难度级别),程序不会给出提示,可能会导致玩家困惑。

问题2解决方案:在接收玩家输入时,添加异常处理机制,确保输入是有效的整数,并且在指定范围内。

问题3:游戏没有设置猜测次数的限制,可能会让玩家感到无聊或挫败。

问题3解决办法:为游戏设置一个最大猜测次数,当玩家用完猜测次数仍未猜对时,游戏结束并提示正确答案。

4.其他

游戏的核心是玩家的体验。如果游戏难度设计不合理,或者玩家在游戏过程中感到困惑、挫败或无聊,那么游戏的趣味性和教育意义都会大打折扣。从用户角度出发思考问题,逐步改进,才能使游戏更有温度,更具厚度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900691.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fiddler如何抓取HTTPS请求

如果发现fiddler只能抓取http请求,但是抓取不到HTTPS请求,看查看是不是没有勾选解密https流量入口:Tools——>Options——>HTTPS,勾选以下选框设置完成过后可以正常抓取HTTPS的请求了

愿景2025|未来已来 各地未来产业加速布局

各地2025年政府工作报告显示,从东部沿海到中西部内陆,从人工智能到低空经济,从量子科技到生物制造,新兴产业和未来产业的布局正在加速展开,这些产业不仅成为各地抢占发展新赛道的重要抓手,更是推动经济高质量发展的新增长极。

Fiddler工具无法抓取请求的几种原因

1、设置了过滤: fiddler中支持我们设置过滤条件,这样fiddler就不会抓取所有的请求,比如我们要抓取一个指定ip地址的请求,就可以设置对应的过滤信息,但是结束过后可能忘记删除了,导致下一次使用fiddler的时候抓不到请求。 1、首先进入Fiddler界面 2、点击Filters,如果设置…

使用 INFINI Gateway 保护 Elasticsearch 集群之修改查询不合理参数(二)

本文将探讨如何使用 INFINI Gateway 修改查询不合理的参数,此方法同样适用于 Opensearch 和 Easysearch 。 在之前的文章中,我们介绍了如何使用 request_body_json_set 处理器修改不合理的查询参数,本篇将继续探讨如何使用 request_body_regex_replace 处理器修改不合理参数…

11判断

C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。判断语句语句 描述if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。if...else 语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。嵌套 if 语句 您可以在一个…

2.4G 5G 频率 Wi-Fi 信道 All In One

2.4G & 5G 频率 Wi-Fi 信道 All In One2.4G & 5G 频率 Wi-Fi 信道 All In One demos荣耀路由 XD28Wi-Fi 信道:以无线信号作为传输媒体的数据信号传送通道,若选“自适应”,则路由器会根据周围环境选择一个最好的信道。 模式:设置路由器的无线工作模式。2.4G Wi-Fi 推…

win系统部署deepseek、ollama,修改模型路径

安装ollama 1、ollama官网下载对应版本的安装包:https://ollama.com/download 2、ollama默认安装到C盘,如果希望自定义安装路径,可以考虑该命令:OllamaSetup.exe /DIR=路径, 比如我想安装到D:\ollama文件下,我要在D盘下创建ollama文件夹,并将Ollama的安装包放在里面,然…

Power Apps 技术分享:画布应用使用表单控件

前言表单控件,是画布应用里一个非常好用的控件,我们今天简单介绍下,如何使用这个控件。正文1.首先,我们需要有一个数据源,我们这里用上一篇博客新建的数据源,如下图:2.新建一个页面,在页面里添加表单控件,也就是编辑窗体(这个中文的翻译啊,一言难尽),如下图:3.为…

P4569 [BJWC2011] 禁忌♂题解

传送门 我的板蓝根 前言 这个题的数据范围及其出卖解法,其实很简单。 题目大意 定义一个字符串的权值为将其分割后子串与 \(N\) 个文本串相等个数的最大值,求:在由前 \(alphabet\) 个小写字母组成的长度为 \(len\) 的任意字符串中随机选择出的字符串的期望权值。 题解 看到这…

微服务存在的问题及解决方案

微服务存在的问题及解决方案 1. 存在问题 1.1 接口拖慢 因为一个接口在并发时,正好执行时长又比较长,那么当前这个接口占用过多的 Tomcat 连接,导致其他接口无法即时获取到 Tomcat 连接来完成请求,导致接口拖慢,甚至失败。 假如商品服务业务并发较高,占用过多 Tomcat 连接…

Esay_log移植

1. 目录结构demo 包含多平台移植示例,如 Linux、RT-Thread、裸机系统等,提供实际工程参考,帮助开发者快速适配不同环境。docs 存放中英文文档,详细说明库的配置、API 接口、移植方法及插件扩展机制。关键文档包括:api/kernel.md:核心接口函数定义及使用说明。port/kernel…