100个经典python题目答案在哪找计算机会考python题目怎么开
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 后序表达式计算 后续表达式计算同样需要用到栈,这个算法在逆波兰表达式计算的练习题中已经有讲解,直接复用代码 def cal_exp(expression): stack = Stack() for item in expression: if item in "+-*/": # 遇到运算符就从栈里弹出两个元素进行计算 value_1 = stack.pop() value_2 = stack.pop() if item == '/': res = int(operator.truediv(int(value_2), int(value_1))) else: res = eval(value_2 + item + value_1) # 计算结果最后放回栈,参与下面的计算 stack.push(str(res)) else: stack.push(item)
res = stack.pop() return res 全部代码 # coding=utf-8 import operator
# 运算优先级 priority_map = { '+': 1, '-': 1, '*': 2, '/': 2 }
class Stack(object): def __init__(self): self.items = [] self.count = 0
def push(self, item): """ 放入一个新的元素 :param item: :return: """ self.items.append(item) self.count += 1
def top(self): # 获得栈顶的元素 return self.items[self.count-1]
def size(self): # 返回栈的大小 return self.count
def pop(self): # 从栈顶移除一个元素 item = self.top() del self.items[self.count-1] self.count -= 1 return item
|