python实现简单的数学小程序

冒泡法排列list
python实现简单的数学小程序
利用打标记来优化 避免重复循环
杨辉三角形
python实现简单的数学小程序
建立二维列表,if判定打印出第一个与最后一个1,其余利用列表索引计算
python实现简单的数学小程序
与上图类似
python实现简单的数学小程序
将每一行列表尾部补0,利用负索引 直接取值计算
python实现简单的数学小程序
上述的方法都是建立二维列表,为了优化,这里只用一个列表,重复使用,定义一个变量用来存放上一次对应索引号中的数据,方便下一次的计算,且在建立列表的时候直接开辟出需要用到的空间。

转载于:https://blog.51cto.com/13886948/2158114

24点是一个经典的数学游戏,目标是使用给定的四个整数,通过加、减、乘、除(但不允许使用括号和小数点)操作,使其结果等于24。在Python实现这个小程序,你可以创建一个简单的函数,接受四个数字作为参数,然后遍历所有可能的操作组合,直到找到满足条件的计算表达式。 以下是一个简单的示例代码实现: ```python def find_24(nums): def calculate(num1, num2, operator): if operator == '+': return num1 + num2 elif operator == '-': return num1 - num2 elif operator == '*': return num1 * num2 elif operator == '/': if num2 != 0: return num1 / num2 else: return "Error: Division by zero" def combination_helper(nums, current, result, remaining_operators): if len(remaining_operators) == 0 and current == 24: print("Solution found:", ' '.join(map(str, nums)) + ' ' + ' '.join(result)) elif current < 24: for i in range(len(nums)): for op in remaining_operators: new_num = calculate(current, nums[i], op) remaining_operators.remove(op) combination_helper(nums, new_num, result + [op, str(nums[i])], remaining_operators) remaining_operators.append(op) nums = [int(n) for n in nums.split()] combination_helper(nums, 0, [], ['+', '-', '*', '/']) # 使用示例 find_24("4 1 8 7") ``` 在这个代码中,`find_24`函数接受四个数字,`calculate`函数负责计算,`combination_helper`是一个递归函数,尝试所有可能的组合。当你调用这个函数并传入四个数字,它会尝试找出如何将这些数字组合成结果为24的表达式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值