问题描述:在123456789这9个数字中间插入任意多个+和-的组合,使得表达式的值为100,输出所有符合条件的表达式。
基本思路:9个数字之间共有8个可插入加号或减号的位置,根据这些位置对9个数字进行切分和分组,这可以通过组合来实现。对于每个切分的组合,在切分处插入加号或减号,这可以通过排列来实现。
技术要点:Python标准库itertools中的组合函数combinations()和排列函数permutations()。
参考代码:
运行结果:
----------相关阅读----------
1900页Python系列PPT分享一:基础知识(106页)
1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)
1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
1900页Python系列PPT分享四:字符串与正则表达式(109页)
1900页Python系列PPT分享五:函数设计与应用(134页)
1900页Python系列PPT分享六:面向对象程序设计(86页)
1900页Python系列PPT分享七:文件操作(132页)
报告PPT(163页):基于Python语言的课程群建设探讨与实践
1000道Python题库系列分享四(40道)
1000道Python题库系列分享三(30道)
1000道Python题库系列分享二(48道)
1000道Python题库系列分享一(17道)
数学老师从没这么教过,乘法竖式中进位可以是多位(附Python实现与测试源码)
计算Fibonacci数列第n项的第8种方法(数学推导与Python实现)
使用Python模拟伪随机数生成原理
使用Python模拟蒙蒂霍尔悖论游戏
使用Python编写一个聪明的尼姆游戏
蒙特.卡罗方法求解圆周率近似值原理与Python实现
两行Python代码实现电影打分与推荐
Python按位异或运算符^应用案例一则:查找只出现一次的数字
三种Fibonacci数列第n项计算方法及其优劣分析
Python快速计算Fibonacci数列中第n项的方法
Python版组合数计算方法优化思路和源码
Python组合列表中多个整数得到最小整数(一个算法的巧妙实现)
Python编写人机对战小游戏(抓小狐狸)
Python寻找给定序列中相差最小的两个数字
又一个学期结束了,送给在校大学生几句话
淡定!不要因为纳入了高考和二级考试甚至极个别小学课程就盲目夸大Python!
全国计算机等级考试二级Python考试大纲预测和分析
大家都在学Python,你和别人的差距在哪?
大学生们颤抖吧,中学生已经开始学Python了!
祝所有程序员1024节日快乐
学会提问,你就成功了一大半!
盘点那些让人上火的提问方式(论如何让交流更高效)
----------喜大普奔----------
1、董付国老师Python系列教材:
《Python程序设计基础》(2018年2月第6次印刷)
《Python程序设计(第2版)》(2018年2月第5次印刷)
《Python可以这样学》(2018年2月第5次印刷)(本书已被引入台湾发行繁体版)
《Python程序设计开发宝典》(2018年2月第3次印刷)
《中学生可以这样学Python》
董付国老师6本Python系列图书阅读指南
董付国老师6本Python系列教材被北大、复旦等近百所高校选作教材
热烈庆祝《Python可以这样学》在台湾发行繁体版
2、董老师免费视频地址: https://pan.baidu.com/s/1jJeAs8Q 密码: px59
3、董老师CSDN学院9套“Python可以这样学”收费视频课程汇总地址:https://edu.csdn.net/search?keywords=%E8%91%A3%E4%BB%98%E5%9B%BD&type=0