003_014 Python 简单加法器
来源:互联网 发布:博士后 国外知乎 编辑:程序博客网 时间:2024/06/05 00:08
代码如下:
#encoding=utf-8print '中国'#用Python实现加法器import decimal, re, operator parse_input = re.compile(r'''(?x) # 允许RE中的注释和空白符 (\d+\.?\d*) # 带有可选的小数部分的数 \s* # 可选的空白符 ([-+/*]) # 运算符 $''') # 字符串结束 oper = { '+': operator.add, '-': operator.sub, '*': operator.mul, '/': operator.truediv, } total = decimal.Decimal('0') def print_total( ): print '======= =\n', total print """Welcome to Adding Machine: Enter a number and operator, an empty line to see the current subtotal, or q to quit: """ while True: try: tape_line = raw_input( ).strip( ) except EOFError: tape_line = 'q' if not tape_line: print_total( ) continue elif tape_line == 'q': print_total( ) break try: num_text, op = parse_input.match(tape_line).groups( ) except AttributeError: print 'Invalid entry: %r' % tape_line print 'Enter number and operator,empty line for total, q to quit' continue total = oper[op](total, decimal.Decimal(num_text))
感觉不能用,打印结果如下:
中国
Welcome to Adding Machine:
Enter a number and operator,
an empty line to see the current subtotal,
or q to quit:
1.2-2.3
Invalid entry: '1.2-2.3'
Enter number and operator,empty line for total, q to quit
0 0
- 003_014 Python 简单加法器
- 简单加法器
- 简单加法器
- 起初的 简单加法器
- cocoa程序简单的加法器
- 一个简单的MFC加法器
- java实现简单GUI加法器
- VB简单应用--加法器制作
- Java 简单加法器的实现
- Java Swing简单的加法器
- 001_014 Python 改变多行文本字符串的缩进
- 002_014 Python 回退输入文件到起点
- 004_014 Python 反转字典 即key和val互换
- 005_014 Python 给字典类型增加排名功能
- 加法器
- 加法器
- 加法器
- 加法器
- Android 自定义侧滑ViewGroup
- 第二十五讲:委托与事件实例浅析
- C语言字符串相关库函数的实现strcpy、memcpy、strncpy、strcat、strncpy、memset、memcpy、strcpy
- 第三周作业——冒泡排序
- 文件和目录的区别
- 003_014 Python 简单加法器
- Template Method模式和Strategy模式有何异同
- PHP与WCF第一次亲密接触
- 基于OpenLayer的前端Aspx标记用法
- Convert Sorted Array to Binary Search Tree
- struts2错误java.lang.NoSuchMethodException: ...XXXAction.create()或者从页面到Action时找不到Action
- HTML 块级元素/内联元素
- Windows 8: Enable .NET Framework 3.5 (includes .NET 2.0 and 3.0) feature in Online & Offline mode!
- zoj 2928 Mathematical contest in modeling( 爬山 )