python实现模拟数字的魔术游戏
作者:炼钢工 发布时间:2021-03-21 17:06:39
标签:python,模拟数字,魔术
游戏介绍
在游戏中,魔术师要每位观众心里想一个三位数abc (a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。
【输入】
输入一个正整数。
【输出】
输出对应的三位数。如果对应的三位数不存在,则输出:“Thesum you calculated is wrong!”。
【输入示例】
1998
【输出示例】
The sum you calculated is wrong!
解题思路
简单粗暴的进行循环赋值比较
涉及的知识点
python基础语法
字符串类型和数字类型的相互转换
range()内置函数的使用
for循环的嵌套使用
if-else结构语句的使用
主要代码
def magic_numbers():
'''
魔术数字,根据数据总和推算原始数据
核心思想:依次将0-9赋值给abc,进行循环比较后得出结果
'''
# 用户算出的数字总和,需要转换数据类型
user_input = int(input('请输入数字的总和:\n'))
# 默认用户失败时的输出结果
result = 'The sum you calculated is wrong!'
#3层嵌套for循环依次对abc进行赋值
for a in range(10):
for b in range(10):
for c in range(10):
# 将数字装换为字符串进行排列组合和拼接
a = str(a)
b = str(b)
c = str(c)
# 要将拼接好的字符串组合重新转换为数字类型 即int
acb = int(a+c+b)
bac = int(b+a+c)
bca = int(b+c+a)
cab = int(c+a+b)
cba = int(c+b+a)
# 计算出每种排列组合后的数字的总和
sum = acb + bac + bca + cab + cba
# 用排列组合的总和与用户给出的总和进行比较,相等则正确,并排列出abc的值,输出
if sum == user_input:
abc = int(a+b+c)
# 将默认的失败值置空,备后面判断使用
result = ''
print('The original number is : ',abc)
# 循环完成后判断默认的失败值是否改变,如果没有改变则直接输出,表示用户计算错误
if result != '':
print(result)
来源:https://blog.csdn.net/huashao888/article/details/121724607


猜你喜欢
- Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提
- 本文实例讲述了Python基于xlrd模块操作Excel的方法。分享给大家供大家参考,具体如下:一、使用xlrd读取excel1、xlrd的
- 本文实例讲述了使用Python生成XML的方法。分享给大家供大家参考,具体如下:1. bookstore.py#encoding:utf-8
- 一、什么是函数装饰器1.函数装饰器是Python提供的一种增强函数功能的标记函数;2.装饰器是可调用的函数对象,其参数是另一个函数(被装饰的
- 列表生成式语法:[x*x for x in range(0,10)] //列表生成式,这里是中括号//结果 [0, 1, 4, 9, 16,
- 这篇文章主要介绍了Python socket模块ftp传输文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 内容介绍以 Python 使用 关联规则 简单举例应用关联规则分析。关联规则 也被称为购物篮分析,用于分析数据集各项之间的关联关系。一般应用
- Python安装新包,pip是很好用的安装工具。pip list 可以查询所有已安装的包和版本。怎么知道本地安装包的版本是否有可以更新的新版
- 首先我们有这么一种需求,就是我在一个列表中点击了某个item,跳转到详情界面,那么我就需要把item的实体数据从列表页面传递到详情页面,那么
- 模块Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和 Python 语句模
- Howdy, 大家好,又是我~ 上一次我们简单的谈了一下font set和一些要注意的基本问题。今天我们继续字体这一话题,深入讲讲上次提到
- 本文实例讲述了Go语言对字符串进行MD5加密的方法。分享给大家供大家参考。具体实现方法如下:package mainimport (&nbs
- 使用python的numpy模块实现逻辑回归模型的代码,供大家参考,具体内容如下使用了numpy模块,pandas模块,matplotlib
- Django分页功能的实现打开命令行窗口,创建Django工程,使用以下命令:django-admin startproject djpag
- 在预测商品销量时,如果预测多了(预测值比真实销量大),商家损失的是生产商品的成本;而如果预测少了(预测值比真实销量小),损失的则是商品的利润
- vscode来写python,配置灵活,界面美观,是个非常好的选择。我这里是在ubuntu系统下配置vscode的python3开发环境,当
- 前言只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的)char、varchar、tex
- 在具体数据的选取上,我爬取的是各省份降水量实时数据话不多说,开始实操正文 1.爬取数据使用python爬虫,爬取中国天气网各省份2
- 搞一个图形化界面还是挺酷的,是吧 安装库什么的应该不用多说了吧。。一般来说会让你把 designer.exe(编辑图形化界面的东西,跟vb差
- 本文章的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,滥用技术产生的风险与本人无关。本文章是自己学习的一些记