一.项目概括
我的项目是简易计算器,为了更加深度的学习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 到倒数第二个位置字符串赋值给