Python计算24点代码,python计算24点,下面的代码通过算24的算
Python计算24点代码,python计算24点,下面的代码通过算24的算
下面的代码通过算24的算法演示了python的函数定义和调用的方法
# 算24程序import mathPRECISION = 1E-6COUNT_OF_NUMBER = 4NUMBER_TO_BE_CAL = 24g_number = [4, 4, 7, 7]g_expression = ['', '', '', '']for i in range(0, 4): g_expression[i] = "%d" % g_number[i]print(g_expression)def solve(n): if(1 == n): if(math.fabs(NUMBER_TO_BE_CAL - g_number[0]) < PRECISION): print(g_expression[0]) return True else: return False else: for i in range(0, n): for j in range(i+1, n): a = g_number[i] b = g_number[j] #********************************** # 将剩下的有效数字往前挪, # 由于两数计算结果保存在number[i]中, # 所以将数组末元素覆盖number[j]即可 # ******************************* g_number[j] = g_number[n - 1] expa = g_expression[i] expb = g_expression[j] g_expression[j] = g_expression[n - 1] # 计算a+b g_expression[i] = '(' + expa + '+' + expb + ')' g_number[i] = a + b if ( solve(n - 1) ) : return True; # 计算a-b g_expression[i] = '(' + expa + '-' + expb + ')' g_number[i] = a - b if ( solve(n - 1) ) : return True # 计算b-a g_expression[i] = '(' + expb + '-' + expa + ')' g_number[i] = b - a if ( solve(n - 1) ): return True # 计算(a*b) g_expression[i] = '(' + expa + '*' + expb + ')' g_number[i] = a * b if ( solve(n - 1) ): return True; # 计算(a/b) if (b != 0) : g_expression[i] = '(' + expa + '/' + expb + ')' g_number[i] = a / b if ( solve(n - 1) ) : return True # 计算(b/a) if (a != 0) : g_expression[i] = '(' + expb + '/' + expa + ')' g_number[i] = b / a if ( solve(n - 1) ): return True # 恢复现场 g_number[i] = a g_number[j] = b g_expression[i] = expa g_expression[j] = expb return Falseif(not solve(COUNT_OF_NUMBER)): print('no solution')
相关内容
- 使用Python做数值运算,python数值运算,#!/usr/bin/p
- Python 使用字符串,python使用字符串,如下代码演示Pyth
- python String (二),pythonstring,#!/usr/bin/p
- 用Python读写XML文件,Python读写XML文件,以前用Python中的
- python String (三) 字符串运算,pythonstring,#!/usr/bin/p
- python使用py2exe打包PyQt程序要点,py2exepyqt,使用png格式作
- python使用HTMLParser解析html,pythonhtmlparser,一个Python HTM
- Python list使用示例,pythonlist示例,#!/usr/bin/p
- python if 语句,pythonif,#!/usr/bin/p
- python while语句,pythonwhile,python while
评论关闭