传参给定4个数字,使用加减乘除计算得出24结果的可能组合(python版),很多人小时候都玩过...
时间: 2024-03-24 12:37:51 浏览: 18
好的,以下是一个可以传参的 Python 代码,可以计算给定的4个数字,使用加减乘除计算得出24结果的所有可能组合:
```python
import itertools
import sys
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
if __name__ == '__main__':
nums = []
for i in range(1, 5):
nums.append(int(sys.argv[i]))
results = find_combinations(nums)
if results:
print(f'{nums}: {results}')
else:
print(f'无法得出24')
```
这个代码接收命令行参数,将前4个参数作为需要计算的数字,然后使用和之前相同的方法计算出所有可能的组合,并输出能得到 24 的所有组合。如果无法得到 24,则输出无法得出24。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.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)