# -*- coding: UTF-8 -*- from itertools import combinations from itertools import permutations str1 = "1 2 J A" card = str1.split(" ") re_ref = ['J', 'Q', 'K', 'A'] i_ref = [11, 12, 13, 1] # 运算符 def getYS(): result = [] list1 = ['+', '-', '*', '/'] * 3 for p in combinations(list1, 3): result.append(p) return list(set(result)) # print(len(getYS())) # 获取牌顺序 def getCard(card): result = [] for p in permutations(card, 4): list1 = [] list1.append(p[0]) list1.append(p[1]) list1.append(p[2]) list1.append(p[3]) result.append(list1) return result # print(len(getCard(card))) # 获取表达式 def getExpress1(card): result = [] for i in getYS(): tmp = card[:] tmp.insert(1, i[0]) tmp.insert(3, i[1]) tmp.insert(5, i[2]) result.append(tmp) return
python之24点牌游戏
最新推荐文章于 2023-09-08 03:39:29 发布
该博客介绍了如何使用Python实现24点游戏的算法。通过生成所有可能的运算组合,结合牌面数字(包括J、Q、K、A的映射),判断是否能得到24点。程序首先定义了牌面数字与数值的对应,然后生成所有可能的运算符组合,并插入到牌的序列中,再处理括号的添加,最后通过eval函数计算表达式并检查结果是否为24。
摘要由CSDN通过智能技术生成