24点游戏算法
学习Python程序时间不长,用一些小程序练习一下,以下是对24点这个小游戏的程序初探,欢迎交流轻喷。
设计思路
设计思路比较直接,由于24点游戏拿在手上的纸牌数量固定,所以将游戏的玩儿法转化成以下两点:
游戏要点:
- 4个数字和4个运算符可任意组合;
- 任意组合计算可得到24则获胜,否则失败。
基于以上两点进行功能编写。
将运算符和参与运算的数字分别构成列表。
def add(x, y):
return x + y
def minu(x, y):
return x - y
def mul(x, y):
return x * y
def devi(x, y):
# 为避免除数为0而报错的情况,暂时没学例外处理方法,先用笨方法
if y == 0:
return 99999999
else:
return x / y
fl = [add, minu, mul, devi]
pok = input('Please input your number split with ",":').split(',')
pok = [int(x) for x in pok]
构建函数,尝试所有组合
使用构建的两个列表分别进行遍历,进而实现对所有数字、运算符组合的遍历。
当组合的计算结果满足条件(即等于24)时,将结果存入预定义的列表中,再将结果输出。
def poker23(func,