Python基础小案例:猜谜游戏

大佬教你用Python Tkinter实现数字猜谜小游戏 Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。 在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部件。在本文的后面,我们将使用Tkinter小部件开发一个很酷的数字猜测游戏。 今天,我们将介绍: Tkinter的基础 Tkinter的小部件与示例 从头开始 阅读详情

本教程将演示用Python开发一个简单的数字猜测游戏的过程。

竞猜游戏的机制

我们正试图开发一个游戏,从用户那里获取上限和下限,在这个范围内生成一个随机数,要求用户猜测这个数字,并计算用户用了多少条线索才猜对了。这个游戏将只基于CLI。

使用Python中的random 模块的数字猜测游戏

我们的程序做的第一件事是接受用户的上限和下限作为输入。这可以用Python内置的input() 方法来完成。

input() 方法从命令行中读取输入,并将其作为一个字符串返回。这里唯一的问题是,我们想输入整数值。

我们可以把我们的input() 方法包在内置的int() 方法里面来解决这个问题。这将把input() 方法返回的输入字符串转换成一个整数值。

下面的例子显示了这个步骤的工作实现。

代码:

lower_limit = int(input("Please enter the Lower Limit"))
upper_limit = int(input("Please enter the Upper Limit"))
print("Lower Limit =", lower_limit)
print("Upper Limit =", upper_limit)

输出:

Please enter the Lower Limit0
Please enter the Upper Limit99
Lower Limit = 0
Upper Limit = 99

我们可以在输入input() 方法里面的数据作为输入参数的同时,写出我们要显示给用户的信息。由于我们有下限和上限,我们可以很容易地写一些代码,在这个范围内生成一个随机的整数。

我们可以使用Python中内置的random 模块来执行这项任务,称为random.randint() 方法。它将下限和上限作为输入参数,并返回该范围内的一个整数。

下一个代码例子显示了如何使用Python的random.randint() 方法在指定范围内生成一个随机的整数。

代码:

import random
number = random.randint(lower_limit, upper_limit)
print("Random Number =", number)

输出:

Random Number = 47

到目前为止,我们已经从用户那里获取了极限值,并在这些极限值内生成了一个随机整数。我们必须把用户的猜测与随机生成的数字进行比较。

这可以通过将input() 方法与一个简单的if/else块相结合来实现。

代码:

guess = int(input("Guess the number"))
if guess == number:
    print("Yes, You are correct")
else:
    print("Incorrect Answer!")

输出:

Guess the number15
Incorrect Answer!

这里唯一的问题是,它没有给我们提供猜出正确数字的线索。它告诉我们是对还是错,这不是一个有趣的游戏方式。

我们可以通过放置多个if语句并在一个循环中执行这些语句来改进,直到用户猜对数字。

代码:

win = False
while win != True:
    guess = int(input("Guess the number"))
    if guess == number:
        win = True
        print("Yes, You are correct")
    elif guess < number:
        print("You are a little shorter")
    else:
        print("You are a little larger")

输出:

Guess the number5
You are a little shorter
Guess the number95
You are a little larger
Guess the number47
Yes, You are correct

我们使用了一个while 循环,因为我们不知道用户要经过多少次试验才能得到正确的答案。我们创建了一个标志变量win ,告诉while循环何时停止,而win 变量被设置为False ,直到用户猜对数字为止。

我们的数字猜测游戏几乎已经完成了,其中唯一缺少的是计算用户在达到正确答案时的试验次数的得分计数器。我们可以修改我们之前的代码,在循环中使用一个计数器变量。

下面的代码片段显示了我们如何在数字猜谜游戏中添加一个计分机制。

代码:

win = False
steps = 0
while win != True:
    guess = int(input("Guess the number"))
    steps += 1
    if guess == number:
        win = True
        print("Yes, You are correct")
        print("Number of Trails =", steps)
    elif guess < number:
        print("You are a little shorter")
    else:
        print("You are a little larger")

输出:

Guess the number22
You are a little shorter
Guess the number44
You are a little shorter
Guess the number47
Yes, You are correct
Number of Trails = 3

我们添加了一个步骤计数器,记录了用户完成游戏所花的试验次数。

代码:

import random
lower_limit = int(input("Please enter the Lower Limit"))
upper_limit = int(input("Please enter the Upper Limit"))
number = random.randint(lower_limit, upper_limit)
win = False
steps = 0  #Python小白学习交流群:711312441
while win != True:
    guess = int(input("Guess the number"))
    steps += 1
    if guess == number:
        win = True
        print("Yes, You are correct")
        print("Number of Trails =", steps)
    elif guess < number:
        print("You are a little shorter")
    else:
        print("You are a little larger")

输出:

Please enter the Lower Limit0
Please enter the Upper Limit10
Guess the number5
You are a little larger
Guess the number2
You are a little shorter
Guess the number3
You are a little shorter
Guess the number4
Yes, You are correct
Number of Trails = 4

输出显示,游戏只运行了一次。它不会让用户继续玩游戏,直到他们感到厌烦。

我们可以把整个程序封闭在另一个循环中,反复执行游戏,直到用户想退出游戏。

完整的代码:

import random
play = True
while play == True:
    lower_limit = int(input("Please enter the Lower Limit"))
    upper_limit = int(input("Please enter the Upper Limit"))
    number = random.randint(lower_limit, upper_limit)
    win = False
    steps = 0
    while win != True:
        guess = int(input("Guess the number"))
        steps += 1
        if guess == number:
            win = True
            print("Yes, You are correct")
            print("Number of Trails =", steps)
        elif guess < number:
            print("You are a little shorter")
        else:
            print("You are a little larger")
    replay = int(input("Enter -1 to replay the game."))
    if replay != -1:
        play = False

输出:

Please enter the Lower Limit1
Please enter the Upper Limit3
Guess the number2
You are a little larger
Guess the number1
Yes, You are correct
Number of Trails = 2
Enter -1 to replay the game.-1
Please enter the Lower Limit1
Please enter the Upper Limit3
Guess the number2
You are a little larger
Guess the number1
Yes, You are correct
Number of Trails = 2
Enter -1 to replay the game.0

我们创建了另一个标志变量,play ,告诉我们的外部或主循环何时停止执行。如果用户提供了除-1 以外的任何数字,外循环将停止执行,假设用户已经厌倦了反复玩这个游戏。

这是一个非常简单的游戏实现。我们在代码中只导入了random 模块来生成一个随机数。

数字猜谜游戏 数字猜谜游戏1.数字猜谜之需求分析2. 在写程序时需要学习的知识3. 数字猜谜之编程思路4. 数字猜谜之程序代码5. 数字猜谜之用户演示6.数字求和1-100数字之间的偶数之和(包含1和100)1-100数字之间的奇数之和(包含1和100)7.斐波那契数列斐波那契数列的定义用程序输出斐波那契数列的前10项用程序输出在100以内的斐波那契数列如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设... 阅读详情

相关推荐

Python Tkinter教程系列02:数字猜谜游戏

Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。 在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部件。在本文的后面,我们将使用Tkinter小部件开发一个很酷的数字猜测游戏。 今天,我们将介绍: Tkinter的基础 Tkinter的小部件与示例 从头开始构建数字猜

itxiaozhan的博客 425

python 猜字游戏

【代码】python 猜字游戏。

qq_41717536的博客 814

python之猜词游戏

猜词游戏是一种基于文字和语言的益智游戏,玩家需要根据给定的提示来猜出正确的单词或短语。我们需要检查玩家的猜测是否正确,如果正确,则向玩家显示正确答案,并返回玩家的得分。在开始编写代码之前,我们需要先确定游戏的基本需求和功能,以便更好地组织代码并确保游戏的流畅性。我们需要记录玩家猜测的次数,并根据猜测的次数计算玩家的得分。玩家在每个回合内猜测的次数应该影响他们的得分,我们需要设计一个计分系统,以便玩家在游戏中获得足够的奖励。综合以上步骤,我们可以编写一份完整的代码,并实现一个简单的猜词游戏。

吃不胖. 975

python经典百题之猜谜游戏

三种方法都可以实现猜谜游戏,具体选择取决于个人偏好和项目需求。如果希望游戏更富趣味性且不需要复现相同的游戏,方法一(随机生成答案)是一个好选择。如果希望手动设置答案或者需要复现相同的游戏,方法二(手动设置答案)和方法三(多个答案备选)都是不错的选择。综合考虑,方法三(多个答案备选)通常是一个不错的选择,因为它允许设置多个备选答案,增加游戏的多样性。同时,它也比方法二(手动设置答案)更具趣味性。

yechuanhui的专栏 1286

python之猜字游戏

运行程序后,控制台会提示用户输入猜测的数字,如果猜的数字比随机数大,会提示“猜大了”,猜小了则提示“猜小了”,直到猜对为止,同时输出猜对的次数。可以根据实际情况自行修改游戏规则和界面。

吃不胖. 1717

基于Python的谜语网站爬虫开发与猜谜游戏实现

本文详细介绍了一个基于Python的谜语网站爬虫的开发过程,以及如何利用爬取的数据构建一个交互式猜谜游戏。文章涵盖了网络爬虫的基本原理、最新Python爬虫技术栈(包括requests-html、aiohttp等异步库)、数据清洗与存储、以及游戏应用开发的全过程。通过本项目,读者可以学习到现代Python爬虫开发的最佳实践,并了解如何将爬取的数据转化为实际应用。关键词:Python爬虫、谜语网站、数据采集、猜谜游戏、异步爬虫、数据清洗。

2201_76125261的博客 875

pygame——猜字游戏(14行代码实现)

前提:作为pygame的新手,肯定想要采用简单的方式快速做出一个小游戏,因此编写了一个方便理解并且适合新手作为练手的小游戏,只需要14行代码就能实现,现将代码展示如下(备注:代码本人均已测试过,完全正确,如有问题,可在下方留言)pygame是一种采用Python语言编写的小游戏,语法简洁,界面清晰,步骤详细,可以带领大家很快的理解一些语法的使用,通过简单的练手之后,就可以在学习Python的相关知识点后,更加巩固对于语法的应用和实现的功能。

qq_44774893的博客 2365

子手:Python文字猜谜游戏实战

函数是将重复的代码块组织起来的结构,使得代码更加模块化和可重用。本节将介绍如何定义和调用函数,以及如何利用参数和返回值来实现功能的灵活组合。以上就是第一章的内容概览,从安装Python环境开始,到掌握基本数据类型、控制结构以及函数的运用,这些基础知识点将为后续的编程学习打下坚实的地基。随着学习的深入,我们将逐步接触到更复杂的技术和应用场景,但请记住,一切伟大的编程旅程都始于基础知识的扎实掌握。字符串是零个或多个字符的序列。在Python中,单引号、双引号、三引号都可以用来定义字符串。

weixin_35752645的博客 654

python2

登录阶段:用 while 循环控制登录次数(最多 3 次),for 循环可辅助计数,if 判断账号密码是否正确,错误次数达 3 次则退出;存款 / 取款 / 转账:用 if 判断输入金额是否为正整数(简化处理,假设输入合法),取款 / 转账需额外判断金额≤余额;登录验证:预设账号("123456")和密码("654321"),允许最多 3 次输入错误,超过则锁定(退出程序);转账:输入目标账号(非空)和金额(正整数),需判断金额≤余额,转账后余额减少;- 若密码正确,提示"密码正确,锁已打开"并结束程序。

2302_80697707的博客 769

kaggle-NeurIPS - Open Polymer Prediction 2025-0.069

本文摘要: 本研究基于多任务学习框架,开发了聚合物物理化学性质预测模型,能够根据SMILES字符串同步预测玻璃化转变温度(Tg)、分数游离体积(FFV)等5种关键性质。针对数据缺失率高、样本不均衡等挑战,采用"先补充后扩充"策略整合多源数据,并融合RDKit分子描述符、ChemBERTa语义特征和自编码器特征构建多维度表征。模型采用硬参数共享架构,结合动态加权损失函数和早停机制,在验证集上表现出色,其中密度预测R²达0.92。研究为聚合物性能的高通量预测提供了有效解决方案,对材料智能设计具有重要参考价值。

2302_78976920的博客 785

ROS Navigation global_planner框架解析

ROS Navigation global_planner框架解析主要讲一下我看源码总结的框架,如果大家跟着这个框架看源码的话可能会看的比较快。主要讲解global_planner关键配置参数含义及关键函数Astar,Dijkstra,QuadraticCalculator::calculatePotential,PotentialCalculator::calculatePotential,GridPath::getPath,GradientPath::getPath.

Jeff_Lee_的博客 4694

数字猜谜游戏python_Python Tkinter教程系列02:数字猜谜游戏

Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部件。在本文的后面,我们将使用Tkinter小部件开发一个很...

weixin_39761195的博客 298

Geant4学习——入门(基本概念、Geant4工具包的结构、强制类、可选类)

Geant4是由欧洲核子研究组织基于C++面向对象技术开发的蒙特卡罗应用软件包,用于模拟粒子在物质中输运的物理过程。由于具有良好的通用性和扩展能力,Geant4在涉及微观粒子与物质相互作用的诸多领域获得了广泛应用。 第一部分 Geant4的基本概念 HEP中的模拟是“虚拟现实”。仿真既可用于在研发阶段帮助设计探测器,又可用于物理研究中了解探测器的响应。为了创建这样的虚拟现实,我们需要对粒子间的相互作用,几何形状和材料进行建模,以便将基本粒子传播到检测器中。我们还需要描述检测器生成原始数据的灵敏度。 Gea

M_M-铭的博客 2万+

python tkinter 输入数字 小数_Python Tkinter教程 数字猜谜游戏

python视频教程栏目以数字猜谜游戏介绍Tkinter。Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部...

weixin_39966376的博客 902

不用变压器也能联网?手把手教你PHY芯片直连的3种实用方案

本文详细介绍了PHY芯片直连的3种实用方案,帮助开发者在物联网设备中实现更经济、更精简的网络连接设计。通过分析电压驱动型和电流驱动型PHY的核心原理,提供具体的电路配置和优化建议,确保信号质量的同时节省成本和空间。

smartcontract5的博客 333

【ROS2】机械臂MoveIt2

navigation2 专注于移动机器人的导航与定位,处理大范围空间的底盘运动;MoveIt2 专注于机械臂的操作规划,处理多关节协同的末端执行器运动。在复合机器人(如,移动机械臂)navigation2 负责移动到目标区域,MoveIt2 负责机械臂抓取。官网:https://moveit.picknik.ai/main/index.html。

郭老二 602

python数字猜谜_Python Tkinter教程系列02:数字猜谜游戏

Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部件。在本文的后面,我们将使用Tkinter小部件开发一个很...

weixin_39620065的博客 424

【算能】TPU-MLIR 工具链之model_deploy

model_deploy.py 是算能 TPU-MLIR 工具链中实现模型高效部署的核心组件,通过灵活的量化配置与硬件优化,可在 ​精度损失 ≤1% 的前提下实现 ​3-5 倍加速。开发者需重点关注校准数据质量、混合精度策略及硬件兼容性

浩瀚之水的专栏 289

Python数字猜谜游戏

在网上找到了一些练习题并解决了其中大部分问题,但有一个问题让我困惑。它不是家庭作业,所以我没有得到分数。但是,没有提供解决方案,因此唯一的方法就是动手做。题目要求你编写一个数字猜谜游戏,针对数字1-100。然而,这个游戏试图通过区间猜测来猜测用户的数字,例如[1, 100],并使用first+last/2生成下一个问题。我从网站上得到了一个范例运行。以下是我到目前为止的代码,但我甚至不知道从哪里开始,因为while循环不断给我带来无限循环。

D0126_的博客 574

MVDR算法: 自适应波束形成在信号处理领域中扮演着重要的角色。本文将介绍MVDR(最小方差无失真响应)算法,并提供相应的Matlab源代码实现。

MVDR算法是一种用于抑制干扰信号并增强感兴趣信号的自适应波束形成算法。它的基本思想是通过对干扰信号进行空间滤波,使其在感兴趣信号方向上的输出功率最小化。这种方法可以提高信号的质量和可辨识度,特别是在存在多个干扰源的复杂环境中。本文将介绍MVDR(最小方差无失真响应)算法,并提供相应的Matlab源代码实现。使用MVDR算法,我们可以通过对观测信号进行波束形成来抑制干扰信号并增强感兴趣信号。以上是MVDR算法的Matlab实现。的每一列代表一个阵列元素的观测信号。表示期望的波束指向,即感兴趣信号的方向。

HackWhisper的博客 1246

33、密码学中的选择密文攻击与Cramer - Shoup加密方案

本文详细介绍了密码学中选择密文攻击的背景及其对Cramer-Shoup公钥加密方案的影响。该方案在决策Diffie-Hellman假设和抗碰撞哈希函数的基础上,能够有效抵御自适应选择密文攻击,并且其安全性无需依赖随机预言机模型。文章还分析了Cramer-Shoup方案的设计原理、加密与解密过程,以及其在标准假设下的安全性证明方法。此外,通过一系列相关练习,帮助读者进一步理解密码学概念如密文不可区分性、ElGamal加密、Goldwasser-Micali方案等。最后,文章展望了密码学的未来发展趋势,包括量子

vscode6remote的博客 100

python从0—9产生四个数_Python Tkinter教程 数字猜谜游戏

python视频教程栏目以数字猜谜游戏介绍Tkinter。Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部...

weixin_36046776的博客 1211

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python实验---猜谜语闯关游戏

​ 设计并实现一款猜谜语的闯关游戏。玩家根据给出的谜面,输入谜底。游戏根据玩家给出的谜底正确与否,决定是否进入下一关。如果玩家猜错,则闯关失败。如果玩家猜对,则进入下一关。每一关的谜语应随机抽取。玩家连续成功闯关五次,则玩家获胜。或者。

没化妆,别看 2917

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python 取得entry转数字_大佬教你用Python Tkinter实现数字猜谜小游戏

Tkinter是Python的Tk GUI(图形用户界面)工具包和事实上的标准GUI 的标准接口。GUI使您可以使用大多数操作系统使用的可视项(例如窗口,图标和菜单)与计算机进行交互。这个功能强大的工具可用于构建各种项目,并且使可视化代码更加容易。在本文中,我们将了解Tkinter的基础知识以及可在Python应用程序中使用的不同类型的小部件。在本文的后面,我们将使用Tkinter小部件开发一个很...

weixin_39523887的博客 1087

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python编程案例_Python 编出抖音超火“挑战十秒“游戏|数字猜谜|倒数日App|03. 交互性编程案例分享...

程序01 交互性Python数学游戏:数字猜谜 (含信息反馈:输入+输出)import random range1 = int(input("请设置本局游戏的最小值:")) range2 = int(input("请设置本局游戏的最大值:")) num = random.randint(range1,range2) print("数字猜谜游戏!") guess = 0 i = 0 while ...

weixin_39620278的博客 525

Python小游戏5——猜谜语

1.列表(List)的使用:在代码中,`riddles` 是一个包含多个字典的列表,每个字典代表一个谜语,包含 `question` 和 `answer` 两个键。", "answer": "水"},{"question": "什么鸡没有翅膀?", "answer": "田鸡"},{"question": "什么车子寸步难行?", "answer": "风车"}{"question": "什么布剪不断?", "answer": "瀑布"},", "answer": "傻瓜"},

cxh666888_的博客 650
上一篇: 用Python创建海龟图形(turtle 库用法)
下一篇: Python 中如何向列表或数组添加元素
Python热爱者
博客等级 码龄7年 3056粉丝 1330原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值