给一个字符串"123456789", 在任意字符中间插入“+”、

2022-06-09  本文已影响0人  无量儿

给一个字符串"123456789", 在任意字符中间插入“+”、“-”、“”、“/”四种运算符,使最后的计算结果等于50。 例如你可以如此插入:1234-56-7+89(https://blog.csdn.net/weixin_42310962/article/details/105538810

def make_50(nums: str) -> list:
opra = ['+', '-', '*', '/', '']
def make_all(nums: str) -> list:
return [nums] if len(nums) == 1 else [nums[0] + j + i for i in make_all(nums[1:]) for j in opra]
return [i for i in make_all(nums) if eval(i) == 50]

不要修改下面的部分

if name == "main":
results = make_50("123456789")
for result in results:
assert eval(result) == 50
print("OK")

上一篇下一篇

猜你喜欢

热点阅读