用Python写个猜数字游戏,写游戏难道比玩游戏还好玩(12)

news2025/1/15 23:27:37

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

欢迎和猫妹一起,趣味学Python。

今日主题

开学差不多有1个月了吧?

猫妹刚刚从寒假的玩玩玩模式切换到上学的学学学模式。

你呢?

这是猫妹的课程表,你的课程表长啥样?

和猫妹的课程表差别大不大?

很期待你的课程表长啥样!

除了上述课程外,猫妹还有一些好玩的兴趣课,比如国画啦!跳舞啦!

忙起来后,Python学习时间就少了。

猫妹很喜欢Python,学习自然不能放下!

最近猫妹在看YCL Python四级考试内容。

猫妹发现很多像猫妹一样的初学者,很容易犯眼高手低的毛病。

啥是眼高手低呢?

就是一看就会,一做就错。

编程嘛!

那是非常严格的,错了一个符号都不行,会影响程序的执行。

编程是一门重在实践的课程,我们一定要多实践,多在电脑上敲打。

当我们在一个地方栽过一个跟头、两个跟头、三个跟头......

这个栽过跟头的地方,我们很快就会记住,以后再也不会犯同样的错误了。

失败是成功之母嘛!

猫妹的一点小感悟:多敲代码,在理解代码含义的基础上多敲代码。

项目需求

今天的话题编写一个小游戏:猜数字(1~6)。

咱们猜想一个数字(1~6),电脑随机选一个数字(1~6),看这两个数字是否相等,相等表示猜对。

这个小游戏没有实际用途,就是供咱们练手的。

咱们主要学习下代码编写迭代的过程。

程序演示

请看图,输入数字(如果非法,会提示重新输入),当猜对时,会提示是否继续游戏。

程序编写

罗马不是一天建成的

当然,代码不是一天写好的。

咱们最终看到用到的软件,也是由不同版本逐渐迭代升级的。

咱们的第1个版本长这样:

当我们输入的不是数字时,程序会怎么样?

程序会出错吗?

试下不就可以了,比如我输入如下字符,在一串数字前加上字母。

它不干,直接报错了。

看来,我们需要一个检测用户的输入逻辑,看输入的是否是数字。

如果是,则判断。

如果不是,请用户重新输入。

咱们的第2个版本长这样:

其中的if not n.isdecimal()表示输入的字符不是十进制数字。

isdecimal的简单介绍,可以网上搜下哦!

此时,如果输入的不是数字,会提示重新输入。

isdecimal 、isdigit、isnumeric这三个字符串方法都用于判断字符串是否为数字。

为什么用三个方法呢?他们的差别是什么呢?

isdecimal:是否为十进制数字符,包括Unicode数字、双字节全角数字,不包括罗马数字、汉字数字、小数;

isdigit:是否为数字字符,包括Unicode数字,单字节数字,双字节全角数字,不包括汉字数字,罗马数字、小数

isnumeric:是否所有字符均为数值字符,包括Unicode数字、双字节全角数字、罗马数字、汉字数字,不包括小数。

咱们的第3个版本长这样:

功能实现了,但是趣味性不强。

怎么加些趣味性呢?

来些随机颜文字表情吧!

你知道什么叫颜文字表情吗?

就是用字符表示一些表情,比如下面这些:

✿♥‿♥✿

咱们的第4个版本长这样:

上面的游戏,当我们猜想的数字和计算机随机的数字一样时,就break了。

还记得break的含义吗?

break,退出整个循环

continue,退出单次循环。

猜想数字正确,游戏退出。

这个退出能否让用户来决定呢?

于是乎,有了下面的代码:

程序打包:

程序是写好了,感觉有点意思。

想发给我的好朋友玩,可是她的电脑没有安装Python,怎么办?

把程序打包发布后,程序的运行就不依赖Python环境。

你的小伙伴就可以欣赏你的游戏大作啦!

我们用pyinstaller命令就可以对程序进行打包了,制定要打包的Python文件,指定一个图标文件。

程序打包完毕,我们进入dist文件夹。

没错,这里的4.exe文件就是我们的程序文件。

我们可以修改名称,后缀.exe不能修改。

Windows中,后缀表示这个文件是什么类型文件,这很重要。

你是人,你是神,人和神的区别,看的就是这个后缀。

你叫张三,你叫李四,张三和李四的区别,看的就是这个名称。

好了,今天的分享就到这里,谢谢大家的阅读。

麻雀虽然小,五张俱全。

上面的代码,你学会了吗?

文章的最后,我们一起认识下Python之父:吉多·范罗苏姆(Guido van Rossum),他出生于1956年1月31日,毕业于阿姆斯特丹大学。

吉多·范罗苏姆是一名荷兰计算机程序员,他作为 Python 程序设计语言的作者而为人们熟知。

在 Python 社区,吉多·范罗苏姆被人们认为是“仁慈的独裁者(BDFL)”,意思是他仍然关注 Python 的开发进程,并在必要的时刻做出决定。

他在 Google 工作,在那里他把一半的时间用来维护 Python 的开发。

2020年11月12日, Python之父Guido van Rossum在自己的官方宣布:由于退休生活太无聊,自己决定加入Microsoft 的 DevDiv Team。

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式中backtrace的使用

大家好,我是bug菌~ backtrace主要用于调试程序时,能够打印出程序在运行过程中的函数调用栈,以帮助开发者快速定位程序出现异常或崩溃的原因。 通过backtrace的输出,开发者可以了解程序在哪个函数出现问题&#xff0c…

APM飞控使用动捕等外部定位

本文初次写于2023.03.03,pixhawk飞控应该是刷写了ArduPilot 4.1以上的版本。 机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的无人机定位数据(x,y,z四元数),然…

HMM-维特比算法

HMM-维特比算法(viterbi)HMM回顾隐马科夫链解法:维特比算法(Viterbi)HMM回顾 最终的公式可以解释主要分为两个部分: P(xi|yi),发射概率,字面意思是从一个词性中发射/生成出某一个单…

【Java】Spring Boot下的MVC

文章目录Spring MVC程序开发1. 什么是Spring MVC?1.1 MVC定义1.2 MVC 和 Spring MVC 的关系2. 为什么学习Spring MVC?3. 怎么学习Spring MVC?3.1 Spring MVC的创建和连接3.1.1 创建Spring MVC项目3.1.2 RequestMapping 注解介绍3.1.3 Request…

1 网关介绍

网关介绍 在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的话会产生很多问题,例如&a…

Threejs 创建的透明球体与模型前后看起来重叠解决方案

创建了球体透明的位置在后面例如 x: -2.2, y: 6, z: 0, 加载的模型在前面x: 2, y: 1, z: 13 ,创建的发光精灵 let spriteMaterial new THREE.SpriteMaterial({ map: spriteTexture, color: object.color, transparent: true, depthWrite: false, //深度写入属性 d…

SpringMVC中JSON数据的设置、RestFul风格

Java知识点总结:想看的可以从这里进入 目录3.4、JSON数据3.4.1、前端使用3.4.2、后端使用1、Jackson2、fastjson3.5、RestFul风格3.5.1、简介3.5.2、使用3.4、JSON数据 3.4.1、前端使用 前端在JavaScript中有封装的JSON对象,可以直接用来操作JSON数据。…

JavaSE之集合篇

文章目录前言一、集合概述集合继承结构图二、Collection接口中常用方法2.1Collection中存放什么元素?2.2常用方法2.3迭代器三、List接口中常用的方法四、ArrayList初始化容量及扩容五、Vector六、Map接口常用方法七、Properties前言 由于在刷题过程中,经…

大型三甲医院云HIS系统源码 强大的电子病历+完整文档

医院HIS系统源码云HIS系统:SaaS运维平台多医院入驻强大的电子病历完整文档 有源码,有演示 一、系统概述 采用主流成熟技术,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同&am…

使用AppSmith(PagePlug )低代码平台快速构建小程序应用实践

文章目录一、入门(一)介绍(二)功能特性(三)体验一下(四)参考教程二、使用Appsmith构建商城微信小程序(一)说明(二)应用配置&#xff0…

安卓逆向_5 --- jeb 和 AndroidStudio 动态调试 smali

Jeb 工具的使用 :https://www.52pojie.cn/forum.php?modviewthread&tid742250:https://zhuanlan.zhihu.com/p/302856081动态调试 smali 有两种方法: Jeb 调试AndroidStudio smalidea 插件动态调试。1、Jeb 动态调试 smali ​JEB是一个…

LeetCode 236.二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖…

Modbus协议初探(C#实现)

由于作者水平有限,如有写得不对得地方请指正 趁着今天休息,就折腾一下Modbus协议,之前零零散散的看过几篇博客,听说搞上位机开发的要会这个协议,虽然我不是搞上位机开发的,但个人对这个比较感兴趣。按照我个…

开发一个看番app[樱花动漫移动端app]

使用react-native开发,功能: 支持看番支持历史记录浏览支持追番 项目地址: https://github.com/HGGshiwo/Sakura 界面: 首页分类用户界面播放界面历史记录搜索界面全部动漫追番

OpenAI Whisper and ChatGPT 语音助手

OpenAI Whisper and ChatGPT ASR Gradio Web UI一 环境准备1.1 python1.2 windows二 导入所需要的包三 加载模型四 定义openai和whisper接口五 生成Gradio Web UI麦克风输入,展示三种结果输入ASR结果输出文本输出TTS结果 一 环境准备 1.1 python gradio3.19.1 gTT…

ubuntu 如何搭建git远程仓库

ubuntu 安装git sudo apt-get install git配置用户名和邮箱 git config --global user.name “xxx” git config --global user.email “邮箱地址”关于远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。这就需要一台电脑充当…

打印名片-课后程序(Python程序开发案例教程-黑马程序员编著-第一章-课后作业)

实例2:打印名片 名片是标示姓名及其所属组织、公司单位和联系方法的纸片,也是新朋友互相认识、自我介绍的快速有效的方法。本实例要求编写程序,模拟输出效果如图1所示的名片。 图1 名片样式 实例目标 掌握print()函数的用法 实例分析 名片…

【办公类-19-01-02】办公中的思考——Python,统计教职工的姓名中那些字最多?

背景需求:上一篇计算了教职工的姓氏谁最多,col[0]]这一篇统计教职工的(姓氏名字)里面哪些字出现最多。材料准备:1、下载所有员工名单写代码。py 包含”姓氏名字“的重字率统计from pandas import DataFrame, Series im…

DevOps践行

DevOps 是开发 (Dev) 和运营 (Ops) 的复合词,它将人、流程和技术结合起来,不断地为客户提供价值。 DevOps 对团队意味着什么? DevOps 使以前孤立的角色(开发、IT 运营、质量工程和安全)可以协调和协作,以生…

二次封装element plus (el-select-v2远程搜索组件)

根据项目需求,需要给每个对应的搜索字段进行 远程搜索项目中有跟多地方都需要使用,所以进行二次封装会很方便.创建一个ElSelectV2文件夹> index.vue<template><div><el-select-v2v-model"valueName"filterableremote:remote-method"remoteMet…