任意1-10中的4个数字,使用加减乘除计算得出24结果的可能组合(python版),很多人小时候都玩过...
时间: 2024-03-24 19:37:51 浏览: 29
好的,以下是一个简单的 Python 代码,可以列出任意1-10中的4个数字,使用加减乘除计算得出24结果的所有可能组合:
```python
import itertools
def calculate(num1, num2, operator):
if operator == '+':
return num1 + num2
elif operator == '-':
return num1 - num2
elif operator == '*':
return num1 * num2
elif operator == '/':
return num1 / num2
def evaluate(nums, ops):
result = nums[0]
for i in range(3):
result = calculate(result, nums[i+1], ops[i])
return result
def find_combinations(nums):
ops = ['+', '-', '*', '/']
combinations = list(itertools.product(ops, repeat=3))
results = []
for c in combinations:
try:
if evaluate(nums, c) == 24:
results.append(c)
except ZeroDivisionError:
pass
return results
for nums in itertools.combinations(range(1, 11), 4):
results = find_combinations(nums)
if results:
print(f'{nums}: {results}')
```
这个代码使用了 Python 的 itertools 模块,可以生成所有可能的 4 个数字的组合,然后对每个组合进行计算,找出能得到 24 的所有可能组合。需要注意的是,由于除法可能会出现除数为 0 的情况,所以需要加上异常处理。
相关推荐
![xls](https://img-home.csdnimg.cn/images/20210720083658.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)