当前位置: 首页 > news >正文

学校网站建设市场广东东莞疫情最新情况

学校网站建设市场,广东东莞疫情最新情况,效果图制作设计,长沙建站公司做网站# 请在此处编写代码 # 24点游戏 import itertools# 计算24点游戏代码 def twentyfour(cards):"""(1)itertools.permutations(可迭代对象):通俗地讲,就是返回可迭代对象的所有数学全排列方式。itertools.permutations("1118") -…
# 请在此处编写代码
# 24点游戏
import itertools# 计算24点游戏代码
def twentyfour(cards):"""(1)itertools.permutations(可迭代对象):通俗地讲,就是返回可迭代对象的所有数学全排列方式。itertools.permutations("1118") -> 即将数字1118进行全排列组合(2)itertools.product(*iterables, repeat=1)iterables是可迭代对象,repeat指定iterable重复几次返回一个或者多个iterables中的元素的笛卡尔积的元组即为product(list1, list2) 依次取出list1中的每1个元素,与list2中的每1个元素,组成元组,repeat即为元组中有几个元素,最多重复几次(3)"""for num in itertools.permutations(cards):#提取数字for ops in itertools.product("+-*/", repeat=3):#提取运算符# ({0}{4}{1}){5}({2}{6}{3}) - > 即在{0}{1}{2}{3}放上数字,{4}{5}{6}放上运算符号,只能放三个,四个数字中间只能放三个运算符# 带括号有8种方法#带括号的意思是三个运算符的优先运算组成方式有8类# 1. (ab)cdbsd1 = '({0}{4}{1}){5}{2}{6}{3}'.format(*num, *ops)# 2. a(bc)dbsd2 = '{0}{4}({1}{5}{2}){6}{3}'.format(*num, *ops)# 3. ab(cd)bsd3 = '{0}{4}{1}{5}({2}{6}{3})'.format(*num, *ops)# 4. (ab)(cd)bsd4 = '({0}{4}{1}){5}({2}{6}{3})'.format(*num, *ops)# 5. ((ab)c)dbsd5 = '(({0}{4}{1}){5}{2}){6}{3}'.format(*num, *ops)# 6.  (a(bc))dbsd6 = '({0}{4}({1}{5}{2})){6}{3}'.format(*num, *ops)# 7.  a((bc)d)bsd7 = '{0}{4}(({1}{5}{2}){6}{3})'.format(*num, *ops)# 8.  a(b(cd))bsd8 = '{0}{4}({1}{5}({2}{6}{3}))'.format(*num, *ops)# print([bsd1, bsd2, bsd3, bsd4, bsd5, bsd6, bsd7, bsd8])for bds in [bsd1, bsd2, bsd3, bsd4, bsd5, bsd6, bsd7, bsd8]:try:if abs(eval(bds) - 24.0) < 1e-20:return "24点结果 = "+bdsexcept ZeroDivisionError:  # 零除错误continuereturn "Not fond"cards = ['2484', '1126', '1127', '1128', '2484', '1111']
for card in cards:print(twentyfour(card))

总结:

1、了解了枚举算法注意事项

    ​在列举的过程中,既不能遗漏也不要重复。

2、明晰了枚举算法的核心

    ​itertools.permutations将输入的可迭代对象即四个数字进行所有可能的全排列;

for num in itertools.permutations(cards):#提取数字并排列

    ​itertools.product将设定好的List1即四个运算符中提取三个与repeat=3相对应;

for ops in itertools.product("+-*/", repeat=3):#提取运算符

    ​将提取的数字排列与运算符依次放入八种可能的优先运算方式中,如果可以满足24点游戏的规则那么输出结果,如果8种运算方式都无法成功得出结果那么就返回”not fond“。

3、学习了4个数字三个运算符的优先排列方式

    ​共有八种:

    ​(ab)cd、a(bc)d、ab(cd)、(ab)(cd)、((ab)c)d、(a(bc))d、a((bc)d)、a(b(cd))。

4、运算结果

输入数字248411261127112824841111
运算结果(2+4)*(8-4)((1+1)+2)*6(1+2)*(1+7)(1+(1*2))*8(2+4)*(8-4)not fond

http://www.tj-hxxt.cn/news/21250.html

相关文章:

  • 网站建设与管理好找工作吗中国企业500强最新排名
  • wordpress 百度搜索图片不显示seo优化排名教程百度技术
  • 中文网站建设哪家好电商运营培训机构哪家好
  • 无限建站系统优化营商环境心得体会1000字
  • 做app简单还是网站如何添加百度指数
  • 杭州网站制作服务百度识图搜索引擎
  • 外贸网站怎么做关键词小企业广告投放平台
  • 怎么在网站上做排名搜索引擎排名优化方案
  • 北京城市副中心投资建设公司网站免费男女打扑克的软件
  • 网站只能在vps里打开seo模拟点击软件
  • 宝山武汉阳网站建设网络培训总结
  • 杭州小蜜蜂网站建设品牌营销推广策划方案
  • 传销教你做网站什么是网络推广营销
  • 南山商城网站建设哪家公司靠谱深圳专业建站公司
  • 建设自己的网站怎么这么难营销型网站分析
  • wordpress怎么上传电影北京谷歌优化
  • 网站建设开发程序国内最近发生的重大新闻
  • 我的免费网是个什么网站网上广告宣传怎么做
  • seo关键词选择及优化seo基础知识培训视频
  • 网站做apk制作工具最新国际新闻
  • 怎样做永久网站二维码外贸怎么找客户资源
  • wordpress 英文站赚钱百度做网站推广电话
  • 高端做网站多少钱网站推广的概念
  • 外贸网站 字体网页制作网站制作
  • 团购网站html模板整合营销方案
  • 如何做网站搬家重庆seo推广外包
  • wordpress 伊拉克防木马外包seo服务口碑好
  • 免费教育网站建设网络营销与电子商务的区别
  • 先做网站后台还是前台个人网站设计成品
  • 韩国做美食网站有哪些杭州网站定制