python 简易计算器

def count(arg):           #计算字符串
    result = eval(arg)
    return result

import re
origin = "1 - 2 * ((60 - 20 +(-40.5/5) * (9 - 2*5/3 + 2*10 + 10*8/144 )) - (-4*3)/(16 - 3*2))"
while True:
    n = re.split("\(([^()]+)\)", origin, 1)                      #对origin进行分割,从最里面的括号开始,逐步进行
    if len(n) == 3:
        before = n[0]
        content = n[1]                         #正则分割的那段调用str的eval计算
        after = n[2]
        num = count(content)
        new_str = str(num)
        origin = before + new_str + after              #计算的结果重新合并成一个新的字符串
    else:                                 #当不含有括号,直接调用eval方法
        result = count(origin)
        print(result)
        break
时间: 2024-10-10 09:16:37

python 简易计算器的相关文章

基于Tkinter用50行Python代码实现简易计算器

Tkinter一般是python自带的,所以代码不需要其他组件,本程序是在python2.7版本实现的. 主要涉及了tkinter的使用,函数定义和调用,匿名函数的使用,类成员函数定义等python基础知识,适合新手学习. 代码如下: from Tkinter import * #创建横条型框架 def frame(root, side): w = Frame(root) w.pack(side = side, expand = YES, fill = BOTH) return w #创建按钮

python 06 计算器

import tkinter import math class Deom: operation_sign = False sign1 = False sign2 = False list1 = [] list2 = [] def __init__(self): self.root = tkinter.Tk() self.root.minsize(320, 400) self.root.title('什么都算不对牌计算器') self.layout() self.root.mainloop()

项目——简易计算器

2017.12.21 决定做一个小项目来练练手了,对期末考试感到无所畏惧. 先选择简易计算器吧,核心算法中缀转后缀表达式我还是学过的,最起码能克服一点心里畏惧. 项目预期如下: 实现命令行版本的核心算法,做简单的加减乘除就可以了: 实现图形化窗口. 代码预期要200行以上. 对自己提一个要求:可以上网找思路,但是绝对不看别人的源码. 2017.12.23 经过几天的努力,总算把这个计算器的核心代码写出来了.代码接近200行,主要利用二重字符串来实现核心的逆波兰算法,实在是有点繁杂. 这段代码实在

函数调用_猜数字和简易计算器

package app1; import java.util.*; public class TestFunction{     public static void main(String[] args){         Scanner sc=new Scanner(System.in);         System.out.print("请选择一项应用:\n1.猜数字\n2.简易计算器");         int n=sc.nextInt();         switch(

基于mini2440简易计算器

基于mini2440简易计算器使用的是数组实现,并非逆波兰式,因此功能不够强大,仅供驱动学习,以及C语言基础编程学习之用.有时间读者可以用逆波兰式来实现强大功能计算器,原理也很简单,建议读<c程序设计第二版>里面有算法的代码.读者自行研究.此程序基于电子相册的改进,触摸屏,LCD,字符现实,数字输入等等 mini2440  索尼X35   LCD液晶屏 主函数部分: #include "def.h" #include "option.h" #includ

如何用jsp实现一个简易计算器(三)

做这个jsp页面,主要是为了实现在同一个页面提交和接受数据的功能. 这个小程序存在很多不足,希望大家多多批评指正. <%@ page language="java" contentType="text/html;" pageEncoding="gbk"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w

C# 简易计算器

编写如下界面的简易计算器界面代码: using System; using System.Windows.Forms; using exp; namespace calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } enum symbol { plus,dec,mult,div}; private void button1_Click(object sender, Ev

PyQt5 简易计算器

剩下计算函数(self.calculator)未实现,有兴趣的朋友可以实现它 [知识点] 1.利用循环添加按钮部件,及给每个按钮设置信号/槽 2.给按钮设置固定大小:button.setFixedSize(QtCore.QSize(60,30)) 3.取事件的的发送者(此例为各个按钮)的文本: self.sender().text() [效果图] [源代码] 1 import sys 2 from PyQt5 import QtWidgets,QtCore,QtGui 3 4 5 class E

java简易计算器

此小程序实现了计算器的基本功能: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimpleCalc extends JFrame{ private static final long serialVersionUID = 1L; String[] labels = {"←","CE","±","√", "