python题目及答案简单什么软件可以搜到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基础试题(含答案)
举例 表达式预处理 万事开头难,先不考虑如何计算,我们应该先对表达式进行处理,处理以后,只有数值和运算符,这样才能对他们进行具体的操作,比如"1 + 2" 处理后得到['1', '+', '2'], 运算符和数值都分离开了。 这样的解析并不复杂,只需要遍历字符串,解析出数值部分放入到列表中,遇到小括号或者运算符则直接放入列表中,代码如下: def exp_to_lst(exp): lst = [] start_index = 0 # 数值部分开始位置 end_index = 0 # 数值部分结束位置 b_start = False for index, item in enumerate(exp): # 是数字 if item.isdigit(): if not b_start: # 如果数值部分还没有开始 start_index = index # 记录数值部分开始位置 b_start = True # 标识数值部分已经开始 else: if b_start: # 如果数值部分已经开始 end_index = index # 标识数值部分结束位置 b_start = False # 标识数值部分已经结束 lst.append(exp[start_index:end_index]) # 提取数值放入列表
if item in ('+', '-', '*', '/', '(', ')'): # 运算符直接放入列表 lst.append(item)
if b_start: # 数值部分开始了,但是没有结束,说明字符串最后一位是数字, lst.append(exp[start_index:]) return lst def test_exp_to_lst(): print exp_to_lst("1 + 2") print exp_to_lst(" 2 - 3 + 2 ") print exp_to_lst("(1+(4+5+3)-3)+(9+8)") print exp_to_lst("(1+(4+5+3)/4-3)+(6+8)*3")
test_exp_to_lst() 程序输出结果为 ['1', '+', '2'] ['2', '-', '3', '+', '2'] ['(', '1', '+', '(', '4', '+', '5', '+', '3', ')', '-', '3', ')', '+', '(', '9', '+', '8', ')'] ['(', '1', '+', '(', '4', '+', '5', '+', '3', ')', '/', '4', '-', '3', ')', '+', '(', '6', '+', '8', ')', '*', '3']
|