本文介绍了python实现模拟数字的魔术游戏。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。
游戏介绍
在游戏中,魔术师让每个观众想出一个三位数的abc (a、B、C分别是百、十、个位数),然后魔术师让观众记住acb、bac、bca、cab、cba五个数字以及这五个数字的和。只要观众说出总和是多少,魔术师就能猜出观众心目中的原始数字abc是多少。比如观众A说他算出来的总数是1999,然后魔术师马上说他认为的数字是443,而观众B说他算出来的总数是1998,然后魔术师说:“你算错了!”。
【输入】
输入一个正整数。
【输出】
输出的相应三位数。如果对应的三位数字不存在,输出:“你计算的总和是错误的!”。
【输入示例】
1998
【输出示例】
你计算的总数是错误的!
解题思路
简单比较一下循环赋值。
涉及的知识点
Python基本语法
字符串类型和数字类型之间的转换。
使用range()内置函数
for循环的嵌套使用
if-else结构语句的使用
主要代码
def幻数():
'''
幻数,根据数据之和计算原始数据。
核心思想:将0-9依次赋给abc,循环比较后得到结果。
'''
#用户计算的数字之和,数据类型需要转换。
User_input=int(input('请输入数字之和:\n '))
#默认用户失败时的输出结果
结果='你算的总数错了!'
#3嵌套的for循环依次向abc赋值
对于范围内的(10):
对于范围(10)中的b:
对于范围(10)内的c:
#用字符串代替数字进行排列、组合和拼接。
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)
#计算每次排列组合后的数字总和
总和=acb bac bca cab cba
#将排列组合的和与用户给出的和进行比较。如果它们相等,它们就是正确的。并列列出abc的值并输出。
如果sum==用户输入:
abc=int(a b c)
#将默认故障值留空,以便以后判断。
结果=' '
打印('原编号为: ',abc)
#循环完成后,判断默认的失败值是否有变化,如果没有变化,直接输出,说明用户计算错误。
如果结果!='':
打印(结果)
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。