ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

简易计算器

2021-12-23 09:04:20  阅读:165  来源: 互联网

标签:self 简易 txtResult num result 计算器 setText def


一.项目概括
我的项目是简易计算器,为了更加深度的学习python语言,利用虚拟机,python语言中的冷()find()index()函数for循环以及其他程序编写方法设计并制作一个可以进行简单的加法、减法、乘法、除法运算的简易计算器。
二界面
在这里插入图片描述
三.关键程序
def init(self, parent = None):
super(CMainWindow, self).init(parent);
self.setupUi(self)

    # 主窗体设置
    self.show()
def One(self):
    result=self.txtResult.text()
    num=1
    self.txtResult.setText(result+str(num)) 
def Two(self):
    result=self.txtResult.text()
    num=2
    self.txtResult.setText(result+str(num)) 
def Three(self):
    result=self.txtResult.text()
    num=3
    self.txtResult.setText(result+str(num)) 
def Four(self):
    result=self.txtResult.text()
    num=4
    self.txtResult.setText(result+str(num)) 
def Five(self):
    result=self.txtResult.text()
    num=5
    self.txtResult.setText(result+str(num)) 
def Six(self):
    result=self.txtResult.text()
    num=6
    self.txtResult.setText(result+str(num)) 
def Seven(self):
    result=self.txtResult.text()
    num=7
    self.txtResult.setText(result+str(num)) 
def Eight(self):
    result=self.txtResult.text()
    num=8
    self.txtResult.setText(result+str(num)) 
def Nine(self):
    result=self.txtResult.text()
    num=9
    self.txtResult.setText(result+str(num)) 
def Zero(self):
    result=self.txtResult.text()
    num=0
    self.txtResult.setText(result+str(num)) 
def Plus(self):
    result=self.txtResult.text()
    self.txtResult.setText(result+"+")
def Subtract(self):
    result=self.txtResult.text()
    self.txtResult.setText(result+"-")
def Multiply(self):
    result=self.txtResult.text()
    self.txtResult.setText(result+"*")
def Divid(self):
    result=self.txtResult.text()
    self.txtResult.setText(result+"/")

程序解读:将1、2、3、4、5、6、7、8、9、0、+、-、*、/按键赋值,当点击按键时文本中输出按键上表示的值。

def Amount(self):
    num1=""
    num2=""

    result=self.txtResult.text()
    if result.find("+")!=-1:#当result中存在“+”时
        b= result.index('+')#把“+”在result位置赋值给b     
    elif  result.find("*")!=-1 :#当result中存在“*”时
        b= result.index('*') #把“*”在result位置赋值给b 
    elif  result.find("/")!=-1:#当result中存在“/”时
        b= result.index('/')#把“/”在result位置赋值给b 
    elif  result.find("-")!=-1:#当result中存在“-”时
        j=""
        if  result[0]=="-":
            for i in range(1,len( result)):#for循环尾值为result的长度
                j=j+ result[i]
            b=j.index('-')+1#b的值为0
        else:
            b= result.index('-')#把“-”在result位置赋值给b 
    for i in range(0,b):#for循环将result中0到b的字符串赋给mun1
        num1=num1+ result[i]
    for j in range(b+1,len( result)):#for循环将result中b到0的字符串赋给mun2
        num2=num2+ result[j]
    if result[b]=="+":#当result中b位置的字符为“+”时
        num=float(num1)+float(num2)#将num1与num2相加赋值给num
    elif result[b]=="-":#当result中b位置的字符为“-”时
        num=float(num1)-float(num2)#将num1与num2相减赋值给num
    elif result[b]=="*":#当result中b位置的字符为“*”时
        num=float(num1)*float(num2)#将num1与num2相乘赋值给num
    elif result[b]=="/":#当result中b位置的字符为“/”时
        if float(num2)==0:#当num2为0时
           self.txtResult.setText("除数不能为0")
        else: 
           num=float(num1)/float(num2) #将num1与num2相加赋值给num
    Strnum=str(num)
    self.txtResult.setText(Strnum)#将num的值在文本Result中输出

程序解读:将num1和num2赋值,利用find()函数和index()函数,判断当文本Result中存在+、-、*、/时将他们在文本Result中的位置值赋值给b。特殊当Result[0]==”-”时, b赋值为0。

def Backspace(self):
    a=self.txtResult.text()#将文本的值赋给a
    num=""#num赋值为0
    for j in range(0,len(a)-1):#for循环尾值为a的长度减1
        num=num+a[j]#赋给num
    self.txtResult.setText(num) 

程序解读:当文本Result中b位置为+、-、*、/时将num1和num2进行运算结果赋值给num再输出到文本Result中。

def Eliminate(self):
   self.txtResult.setText(" ") #将文本Result清空

程序解读:利用for循环和len()函数将文本Result中0 到倒数第二个位置字符串赋值给

标签:self,简易,txtResult,num,result,计算器,setText,def
来源: https://blog.csdn.net/m0_61717346/article/details/122098956

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有