给一个字符串"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")