欢迎光临散文网 会员登陆 & 注册

24点解题和出题工具

2023-07-12 15:36 作者:开朗的小盆友yyds  | 我要投稿

接着上一篇文章

24点解题工具代码:

import itertools

#by jason

def calculate24(nums):

    permutations = list(itertools.permutations(nums))

    operators = list(itertools.product(["+", "-", "*", "/"], repeat=3))

    for perm in permutations:

        for operator in operators:

            equation = f"{perm[0]} {operator[0]} {perm[1]} {operator[1]} {perm[2]} {operator[2]} {perm[3]}"

            if abs(eval(equation) - 24) < 1e-6:

                return equation.replace("//", "/")

    return "无解"

while 1:

    a=int(input("1:"))

    b=int(input("2:"))

    c=int(input("3:"))

    d=int(input("4:"))

    print(calculate24([a, b, c, d]))

    input("_____________________________________")






24点出题工具代码:

#by jason

import itertools

import random as r


def py24(nums):

    permutations = list(itertools.permutations(nums))

    operators = list(itertools.product(["+", "-", "*", "/"], repeat=3))

    for perm in permutations:

        for operator in operators:

            equation = f"{perm[0]} {operator[0]} {perm[1]} {operator[1]} {perm[2]} {operator[2]} {perm[3]}"

            if abs(eval(equation) - 24) < 1e-6:

                return equation.replace("//", "/")

    return "No"

while 1:

    a=r.randint(1,10)

    b=r.randint(1,10)

    c=r.randint(1,10)

    d=r.randint(1,10)

    f=[a,b,c,d]

    if((py24(f))!="No"):

        print(a," ",b," ",c," ",d,' ')

        input("")

        print(py24(f))

        input("")

        print("___________________________________________________________________")


    else:

        pass





24点解题和出题工具的评论 (共 条)

分享到微博请遵守国家法律