python推理小游戏bagels
python推理小游戏bagels
- bagels是一个推理小游戏,你的朋友想到一个随机的、没有重复的3位数字,你尝试去猜测它是什么。每次猜测之后,朋友就会给出3中类型的线索:
- Bagels: 你猜测的3个数都不在神秘数字中;
- Pico:你猜测的是神秘数字中的一个数,但是位置不对;
- Fermi:你猜测的是正确位置上的一个正确的数。
- 程序流程:首先生成一个随机数字,然后判断玩家是否用完了猜测次数,用完了则玩家失败,询问是否再玩一局;否则获取玩家的猜测,回答正确玩家获胜,询问是否再玩一局,猜测失败,告诉玩家线索,增加已猜测的次数。
import random# 获取一个长度为numDigits的字符串,该字符串由唯一的随机数字组成
def getSecretNum(numDigits):numbers = list(range(10))# 随机修改列表元素的顺序random.shuffle(numbers)secretNum = ''for i in range(numDigits):secretNum += str(numbers[i])# 给用户提供关于pico, fermi, bagels的线索
def getClues(guess, secretNum):if guess == secretNum:return "You got it!"clue = []for i in range(len(guess)):if guess[i] == secretNum[i]:clue.append('Fermi')elif guess[i] in secretNum:clue.append('Pico')if len(clue) == 0:return 'Bagels'clue.sort()# 排序去除掉线索中和顺序相关的额外信息return ''.join(clue)# 如果num是仅由数字组成的字符串,则返回True。否则返回False。
def isOnlyDigits(num):if num == '':return Falsefor i in num:if i not in '0 1 2 3 4 5 6 7 8 9'.split():return Falsereturn True# 是否再玩一次
def playAgain():print('Do you want to play again?(yes or no)')return input().lower().startswith('y')NUMDIGITS = 3
MAXGUESS = 10
print('I am thinking of a %s-digit number. Try to guess what it is.'%(NUMDIGITS))
print('Here are some clues:')
print('When I say: That means:')
print(' Pico One digit is correct but in the wrong position.')
print(' Fermi One digit is correct and in the right position.')
print(' Bagels No digit is correct.')
while True:secretNum = getSecretNum(NUMDIGITS)print('I have thought up a number. You have %s guesses to get it.'%(MAXGUESS))numGuesses = 1while numGuesses <= MAXGUESS:guess = ''while len(guess) != NUMDIGITS or not isOnlyDigits(guess):print('Guess #%s: '%(numGuesses))guess = input()clue = getClues(guess, secretNum)print(clue)numGuesses += 1if guess == secretNum:break if numGuesses > MAXGUESS:print('You ran out of guesses. The answer was %s.'%(secretNum))if not playAgain():break
相关文章:
python推理小游戏bagels
python推理小游戏bagels bagels是一个推理小游戏,你的朋友想到一个随机的、没有重复的3位数字,你尝试去猜测它是什么。每次猜测之后,朋友就会给出3中类型的线索: Bagels: 你猜测的3个数都不在神秘数字中;Pico&#x…...
DBSCAN聚类
一、概述 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,簇集的划定完全由样本的聚集程度决定。聚集程度不足以构成簇落的那些样本视为噪声点,因此DBSCAN聚类的方式也可以用于异常点的检测。 二、算法…...
java+ssm美食推荐交流系统 7jsw7
随着社会的发展,美食推荐系统的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但美食推荐信息鱼龙混杂,真假难以辨别。为了方便用户更好的获得美食推荐信息,因此,设计一款安全高效的美食推荐系统极为重要。 为…...
基于php雪花算法工具类Snowflake -来自chatGPT
<?phpclass Snowflake {// 定义Snowflake算法的各个参数private $workerIdBits 5;private $datacenterIdBits 5;private $sequenceBits 12;private $workerIdShift;private $datacenterIdShift;private $timestampLeftShift;private $maxWorkerId;private $maxDatacente…...
怎么加密文件夹才更安全?安全文件夹加密软件推荐
文件夹加密可以让其中数据更加安全,但并非所有加密方式都能够提高极高的安全强度。那么,怎么加密文件夹才更安全呢?下面我们就来了解一下那些安全的文件夹加密软件。 文件夹加密超级大师 如果要评选最安全的文件夹加密软件,那么文…...
知识分享和Tomcat简单部署press应用
一、简述静态网页和动态网页的区别。 静态网页: 静态网页是指运行于客户端的程序、网页、组件、纯粹HTML格式的网页; 如果有涉及网页内容的修改,就要修改源文件,重新上传到服务器。而且当网站信息量很大的时候,网页制作和维护都非常困…...
回归预测 | MATLAB实现SO-CNN-BiGRU蛇群算法优化卷积双向门控循环单元多输入单输出回归预测
回归预测 | MATLAB实现SO-CNN-BiGRU蛇群算法优化卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现SO-CNN-BiGRU蛇群算法优化卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现SO-CNN-BiGRU蛇群算法…...
步入React前厅 - 组件和JSX
目录 扩展学习资料 购物车应用 编写React元素 /src/index.js 创建组件 /src/components/listItem.jsx /src/App.js 理解JSX【JavaScriptXML】 JSX是什么 JSX规则 /src/components/listItem.jsx 使用Fragments /src/App.js 为何要使用Fragments 表格中使用Fragme…...
SpringBoot整合Sfl4j+logback的实践
一、概述 对于一个web项目来说,日志框架是必不可少的,日志的记录可以帮助我们在开发以及维护过程中快速的定位错误。slf4j,log4j,logback,JDK Logging等这些日志框架都是我们常见的日志框架,本文主要介绍这些常见的日志框架关系和SpringBoot…...
IT 基础架构自动化
什么是 IT 基础架构自动化 IT 基础架构自动化是通过使用技术来控制和管理构成 IT 基础架构的软件、硬件、存储和其他网络组件来减少人为干预的过程,目标是构建高效、可靠的 IT 环境。 为什么要自动化 IT 基础架构 为客户和员工提供无缝的数字体验已成为企业的当务…...
Docker入门——保姆级
Docker概述 —— Notes from WAX through KuangShen 准确来说,这是一篇学习笔记!!! Docker为什么出现 一款产品:开发—上线 两套环境!应用环境如何铜鼓? 开发 – 运维。避免“在我的电脑…...
MONGODB ---- Austindatabases 历年文章合集
开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…...
菠萝头 pinia和vuex对比 pinia比vuex更香 Pinia数据持久化及数据加密
前言 毕竟尤大佬都推荐使用pinia,支持vue2和vue3! 如果熟悉vuex,花个把小时把pinia看一下,就不想用vuex了 支持选项式api和组合式api写法pinia没有mutations,只有:state、getters、actionspinia分模块不…...
机器学习笔记 - 关于GPT-4的一些问题清单
一、简述 据报道,GPT-4 的系统由八个模型组成,每个模型都有 2200 亿个参数。GPT-4 的参数总数估计约为 1.76 万亿个。 近年来,得益于 GPT-4 等高级语言模型的发展,自然语言处理(NLP) 取得了长足的进步。凭借其前所未有的规模和能力,GPT-4为语言 AI设立了新标准,并为机…...
sql 参数自动替换
需求:看日志时,有的sql 非常的长,参数比较多,无法直接在sql 客户端工具执行,如果一个一个的把问号占位符替换为参数太麻烦,因此写个html 小工具,批量替换: 代码: <!…...
Linux——设备树
目录 一、Linux 设备树的由来 二、Linux设备树的目的 1.平台识别 2.实时配置 3.设备植入 三、Linux 设备树的使用 1.基本数据格式 2.设备树实例解析 四、使用设备树的LED 驱动 五、习题 一、Linux 设备树的由来 在 Linux 内核源码的ARM 体系结构引入设备树之前&#x…...
网络:从socket编程的角度说明UDP和TCP的关系,http和tcp的区别
尝试从编程的角度解释各种网络协议。 UDP和TCP的关系 从Python的socket编程角度出发,UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是两种不同的传输协议。 TCP是一种面向连接的协议,…...
大数据技术之Hadoop:HDFS集群安装篇(三)
目录 分布式文件系统HDFS安装篇 一、为什么海量数据需要分布式存储 二、 分布式的基础架构分析 三、 HDFS的基础架构 四 HDFS集群环境部署 4.1 下载安装包 4.2 集群规划 4.3 上传解压 4.4 配置HDFS集群 4.5 准备数据目录 4.6 分发hadoop到其他服务器 4.7 配置环境变…...
移动开发最佳实践:为 Android 和 iOS 构建成功应用的策略
您可以将本文作为指南,确保您的应用程序符合可行的最重要标准。请注意,这份清单远非详尽无遗;您可以加以利用,并添加一些自己的见解。 了解您的目标受众 要制作一个成功的应用程序,你需要了解你是为谁制作的。从创建…...
2023年第二届网络安全国际会议(CSW 2023)
会议简介 Brief Introduction 2023年第二届网络安全国际会议(CSW 2023) 会议时间:2023年10月13日-15日 召开地点:中国杭州 大会官网:www.cybersecurityworkshop.org 2023年第二届网络安全国际会议(CSW 2023)由杭州电子科技大学,国…...
Quark:极致微型Linux卡片电脑的硬件设计、系统开发与应用实战
1. 项目概述:当“小”成为核心竞争力在嵌入式开发和创客圈子里,我们总在寻找那个“刚刚好”的硬件平台。它要足够小巧,能塞进任何灵光一现的创意里;它要足够完整,能运行一个正经的操作系统来处理复杂逻辑;它…...
远程会议还在发文档改来改去?我用 Rustpad 搭了个协作平台彻底解决
前言 远程会议开到一半,需要共同修订一份文档或代码提纲,这种场景估计不少人经历过。方案来来去去就那几个:发邮件等反馈、微信来回传文件、用腾讯文档但要登录账号……每种都有各自的鸡肋之处。后来我自己琢磨出一套更顺手的方案࿱…...
Midjourney新艺术风格突然失效?92%用户忽略的--stylize冲突机制与3步回滚修复法
更多请点击: https://codechina.net 第一章:Midjourney新艺术风格突然失效?92%用户忽略的--stylize冲突机制与3步回滚修复法 近期大量用户反馈:在 Midjourney v6.1 中启用高 stylize 值(如 --stylize 1000࿰…...
2026 最新 Web 安全入门教程 零基础全面吃透 Web 攻防
“未知攻,焉知防”——真正的安全始于理解攻击者的思维 在日益数字化的世界中,Web安全工程师已成为企业防护体系的“数字盾牌”。本文将提供一条清晰的进阶路径,助你在2025年的网络安全领域脱颖而出。 一、认知篇:理解安全本质 …...
LicenseFinder高级配置指南:自定义许可证规则与决策继承
LicenseFinder高级配置指南:自定义许可证规则与决策继承 【免费下载链接】LicenseFinder Find licenses for your projects dependencies. 项目地址: https://gitcode.com/gh_mirrors/li/LicenseFinder LicenseFinder是一款强大的开源许可证管理工具…...
Java智能地址解析终极指南:企业级架构设计与高性能实现方案
Java智能地址解析终极指南:企业级架构设计与高性能实现方案 【免费下载链接】address-parse Java 版智能解析收货地址 项目地址: https://gitcode.com/gh_mirrors/addr/address-parse 面对电商、物流、外卖等系统中复杂多变的地址输入格式,传统的…...
树突状细胞相关细胞因子的功能及疾病关联
树突状细胞作为免疫系统中核心的抗原呈递细胞,其分泌的多种细胞因子(IL-1α、IL-1β、IL-6、TNFα、IL-10)在免疫反应的启动、调控及稳态维持中发挥着核心作用。这些细胞因子具有双重调控特性,既是机体抵御病原体入侵的重要屏障&a…...
ElevenLabs四川话API响应延迟突增故障复盘:一次DNS劫持引发的方言语音服务中断(附实时监控SLO看板模板)
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs四川话语音服务中断事件全景速览 2024年10月12日凌晨,ElevenLabs面向中国西南地区用户提供的方言语音合成服务(四川话模型 eleven_turbo_v2.5-sichuan)突发…...
第八篇:《软件测试的经济学:投入与回报》
在商业环境中,测试不是“免费”的——它需要人力、工具、时间。但缺陷也不是免费的——它可能导致损失、赔偿、用户流失。如何让管理者理解“投入测试是投资,而不是成本”?本文将从经济学角度分析测试的投资回报率(ROI)…...
如何快速掌握ComfyUI_InstantID:从零到一的AI人脸编辑完整实战指南
如何快速掌握ComfyUI_InstantID:从零到一的AI人脸编辑完整实战指南 【免费下载链接】ComfyUI_InstantID 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_InstantID 在AI图像生成领域,保持特定人物身份的同时实现风格转换一直是个技术挑战…...
