0
点赞
收藏
分享

微信扫一扫

半小时挑战九行代码(程序试金石)

寒羽鹿 2022-04-14 阅读 60
python

半小时挑战九行代码(程序员试金石)

挑战题:
编写一个在1,2,3,…,n(顺序不能变,n>=3)数字之间插入+或-或什么都不插入,使得计算结果为0的程序,并输出所有的可能性。
例如n=9时,1-23-4-56-7+89=0是一种可能性。
解题思路:
首先,把1-n当成字符,将‘+’或’-’或’’字符插入到规定位置,获取字符串表达式,生成所有组合,用到itertools 模块中的product组合生成器。
其次,使用eval函数计算字符串表达式,筛选出计算结果为0的所有表达式并打印。

from itertools import product
n = int(input("Please enter an integer of 3-n: \n"))
numbers
举报

相关推荐

0 条评论