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

学校网站建设市场今日新闻快讯10条

学校网站建设市场,今日新闻快讯10条,网站建设谈客户说什么,市场监督管理局官网# 请在此处编写代码 # 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.dinnco.com/news/49529.html

相关文章:

  • 国外网站专题红黄网络营销的发展现状及趋势
  • 太原谁想做网站广告联盟看广告赚钱
  • 滕州市 网站建设公司网络优化seo
  • 网站焦点图如何美观磁力最好用的搜索引擎
  • 品牌网站建设-建站之路网络推广是什么
  • 静态网站做毕业设计谷歌google下载
  • 网站后台模板免费360推广怎么收费
  • 设计商业网站应该做到什么百度的营销方式有哪些
  • 制作网站 公司seo外包公司
  • 做旅游网站需要什么江苏短视频seo搜索
  • vipkid网站开发团队博客网站登录
  • 高端客户开发电脑系统优化工具
  • 技术支持 嘉兴网站建设搜索引擎优化的技巧有哪些
  • 网站做APP麻烦吗百度seo营销公司
  • 2017网站设计百度最怕哪个部门去投诉
  • 广东水利建设与管理信息网站360浏览器网页版入口
  • 西安学校网站建设价格网站友情链接出售
  • 紫色个人网站模板哪些网站推广不收费
  • 企业网站网页尺寸seo教程 百度网盘
  • 营销型网站建设区别郑州技术支持seo
  • vps上安装wordpress常德seo
  • 那些开店的网站是自己做的吗秦皇岛网站seo
  • 制作视频的手机软件站长seo查询工具
  • 网站建设属什么资产西地那非
  • wordpress公园模板seo网站推广工具
  • 怎么设置网站免费推广公司
  • 怎么进入国外网站百度账号中心官网
  • 网页设计师网站大全近期新闻热点大事件
  • 重庆网页设计培训优化大师电脑版官网
  • wordpress博客收藏贵州seo技术查询