python模块——re模块(简单的计算器功能实现_eval版)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = "loki"

# Usage: Make a Diy Calculator
# example:
#    ‘1 - 2 * ((60-30 +(-40/5) * (9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))‘

import re
RE_RULE = ‘\([^()]+\)‘

def arithmetical(temp):
    result = eval(temp)
    return result

def main(arithmetic):
    step = 0
    while 1:
        step += 1
        result = re.search(RE_RULE, arithmetic)
        if result:  # if exist ‘()‘
            temp_ = result.group()
            calc_res = str(arithmetical(temp_))
            arithmetic = re.sub(RE_RULE, calc_res, arithmetic)  # replace  source values
            print(arithmetic, "step: %s" % step)
        else:  # if not ‘()‘
            return arithmetical(arithmetic)

if __name__ == ‘__main__‘:    print("result: %s" % (main(user_input)))

原文地址:https://www.cnblogs.com/Cong0ks/p/9259863.html

时间: 2024-11-17 05:39:46

python模块——re模块(简单的计算器功能实现_eval版)的相关文章

用python的正则表达式实现简单的计算器功能

#!/usr/bin/env python # -*- coding:utf-8 -*- import sys import re def welcome_func(): """ 输入判断 :param expression: 表达式 :return: 返回有效表达式 """ welcome_str = "超级计算器" print(welcome_str.center(50,'*'),'\n') # 输出欢迎界面 while

使用JS完成一个简单的计算器功能

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElementById("id").value = 1: 取值:var = document.getElementById("id").value: 任务 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElement

shell实现一个简单的计算器功能小脚本

废话不多说,直接上代码,基本实现加减乘除功能: #!/bin/bash # author by alsww # date : 2016.02.03 # mail : [email protected] # blog : alsww.blog.51cto.com print_info(){     printf "请输入数字:\n" } print_err_num(){     printf "请输入正确的数字!\n" } print_err_fuhao(){    

C#实现按键计算器功能2(增强版)

1.   实验目的 (  1)熟悉C#语言的使用和语法知识 2.   实验要求 (1)设计简单的含交互界面的计算器软件,具有较强的用户体验感. (2)使用C#语言进行编程,创建窗体应用程序. (3)实现较简单加减乘除等运算. 3.    运行效果如下: 4.    效果特点: (1)每个按钮均可输入,但会阻止一些非法输入,例如,在没有输入数字的时候就输入运算符,点号的多次输入,这些都会阻止. (2)实现了运算的优先级,即乘除是先与加减计算的. (3)可实现小数的计算,即弥补了整型无法得打小数的缺

JS实现一个简单的计算器

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElementById( id名 ).value 获取或设置 id名的值. 第三步: 获取通过下拉框来选择的值来改变加减乘除的运算法则. 提示:使用switch判断运算法则. 第四步:  通过 = 按钮来调用创建的函数,得到结果. 注意: 使用parseInt

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本。

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本.

完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能

#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input("please input a number:"))except ValueError: print("第一个运算数字输入非数字") try: b=int(raw_input("please input another number:"))except Val

python模块与包简单整理

# 模块# collections模块# 1.namedtuple:生成可以使用名字来访问元素内容的tuple# from collections import namedtuple# namedtuple('名称', [属性list]):# from collections import namedtuple# Point = namedtuple('Point', ['x', 'y'])# p = Point(1, 2) # 2.deque:双端队列,可以快速地从另外一侧追加和推出对象# f

Python学习—paramiko模块实现简单的ssh与sftp

paramiko模块 paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. import paramiko # ssh [email protected] # 创建一个ssh对象 client = paramiko.SSHClient() #如果第一次连接陌生的IP,自动选择yes确认连接 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接