用Python实现一个简易计算器

自己动手写计算器

一、功能分析

  用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里面除了包含空格、‘+‘、‘-‘、‘*‘、‘/‘和括号再无其他特殊符号,然后直接动手写代码解析其中的表达式,实现加减乘除最后得出的结果与真实的计算机所算的结果必须一致。

二、所需的知识点

  • 字符串的处理
  • 正则表达式的运用
  • 函数递归

三、程序实现流程分析

  1. 处理用户输入的字符串,去除多余的空格
  2. 用正则表达式处理字符串,提取其中的数字和运算符,并转换成列表
  3. 编写一个函数,处理没有括号的基本运算的基本表达式
  4. 再写一个函数递归处理带有括号的函数,先计算最内部括号中的表达式, 然后将最内部的括号替换为计算后的结果, 在递归外部一层的, 最后返回的就是所需的结果

四、具体实现过程

1.处理用户输入

  处理用户的输入比较简单,这里我们仅仅需要去除多余的空格,实现代码如下:

  

时间: 2024-08-08 09:31:13

用Python实现一个简易计算器的相关文章

c语言:编写一个简易计算器,打印菜单界面,实现加减乘除运算,可以退出菜单界面

.编写一个简易计算器 程序: #include<stdio.h> enum  OP { EXIT,//0 ADD,//1 SUB,//2 MUL,//3 DIV//4 }; void menu()//menu表示菜单 { printf("**** 1.add  ****\n"); printf("**** 2.sub  ****\n"); printf("**** 3.mul  ****\n"); printf("**** 

基于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 #创建按钮

制作一个简易计算器——基于Android Studio实现

一个计算器Android程序的源码部分分为主干和细节两部分. 一.主干 1. 主干的构成 计算器的布局 事件(即计算器上的按钮.文本框)监听 实现计算 2. 详细解释 假设我们的项目名为Calculator,而布局名称(Layout Name)为默认的activity_main .即设置如下图所示: 在这种前提下,有: 设置计算器布局的文件:Calculator/app/src/main/res/layout/activity_main.xml 事件监听和计算实现在同一个文件里:Calculat

使用Python创建一个简易的Web Server

Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\Users\%USERNAME%\用户目录下,创建一个html目录,将html/jpg等网页文件拷贝到该目录下,启动一个cmd命令行窗口,进入html目录,执行如下命令即可创建一个简易的Web Server: python -m http.server 8888 图01-使用python创建一个简单的

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

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

JS制作一个简易计算器

//javascript简易计算器 <!DOCTYPE html> <html>  <head>   <title> 事件</title>     <script type="text/javascript">    function count(){             //获取第一个输入框的值     var node1=document.getElementById('txt1').value;     

如何用 Python 写一个简易的抽奖程序

不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下手. 其实这个很正常,刚开始学习写代码,都是跟着别人的套路往下写,看的套路少,很难形成自己的套路,这就和做数学题是一样的,做一道题就想会所有的题目,这个可能性微乎其微,都是通过大量的练习来摸索到自己的套路. 正好快过年了,各个公司都会搞一些抽奖活动,小编今天就来聊一下,如果要写一个简单的抽奖程序,小

Python编写一个简单计算器

一个计算器最主要的功能是加减乘除,那么用 Python 可以怎样实现呢 #!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2018/1/22 22:29 # @Author : zhouyuyao # @File : daemonCalculator.py # PyCharm 2017.3.2 (Community Edition) # Build #PC-173.4127.16, built on December 19, 2017

利用Python写一个闰年计算器和每月天数计算器

闰年计算器 题目:输入年份,判断该年是否为闰年. 方法:1.能被400整除的年份 2.能被4整除,但不能被100整除 1 print('---闰年判断器kql,按q退出---') 2 while True: 3 y = input('请输入年份:') 4 if (y == 'q'): 5 break 6 y = int(y) 7 if (y % 400 == 0 or (y % 4 == 0 and y % 100 != 0)): 8 print(y,'年为闰年!') 9 else: 10 pr