24点是一种数学游戏,其目标是使用给定的四个数字,通过加、减、乘、除和括号等运算符,得到结果为24的表达式。以下是一个简单的Python程序,用于解决24点游戏:
import itertools
def calculate(expression):
try:
return eval(expression)
except ZeroDivisionError:
return None
def find_24(numbers):
permutations = itertools.permutations(numbers)
for p in permutations:
for ops in itertools.product("+-*/", repeat=3):
expression = "(({} {} {}) {} {})".format(p[0], ops[0], p[1], ops[1], p[2], ops[2], p[3])
result = calculate(expression)
if result == 24:
return expression
return None
if __name__ == "__main__":
user_input = input("请输入四个数字,用空格分隔:")
numbers = [int(x) for x in user_input.split()]
if len(numbers) == 4:
expression = find_24(numbers)
if expression:
print("成功找到结果为24的表达式:", expression)
else:
print("未找到结果为24的表达式。")
else:
print("请提供四个数字。")