Python:教你三种方法写出没有GUI的计算器:基础、函数、面向对象

  • Post author:
  • Post category:python


话不多说,本文章纯属博主突发奇想,想起我原先闲着没事曾经试过用多种方法编写没有GUI的计算器。下面展示的写法或许与正常常见的写法有出入。因为我采用的是功能选择形式(即,通过输入数字来决定进行哪一种运算)

下面就来说一说这四种方法:



最简单的写法

下面展示的是计算器最简单的写法(四种运算)

while(True):
	number1 = float(input("请输入第一个想计算的数"))
	number2 = float(input("请输入第二个想计算的数"))
	number3 = int(input("请选择功能:1 for + .2 for - .3 for 					*. 4 for /"))
	if number3 == 1:
		result=number1+number2
		print("the rusult is "+result)
	elif number3 == 2:
		result=number1-number2
		print("the rusult is " + result)
	elif number3 == 3:
		result-number1*number2
		print("the rusult is " + result)
	elif number3 == 4:
		result=number1/number2
		print("the rusult is " + result)
	elif number3 == 4 and number2==0
		print("Error") 	
	else:
		print("Error")

上面就是最简单的计算器的源码,很长时间没碰python了,如果有bug评论区指出



函数法

下面要介绍的就是利用python的函数实现计算器功能

def Add(add1,add2):		
	result = add1+add2
	print("the rusult is " + result)
def Subtraction(subtraction1,subtraction2):
	result2 = subtraction1-subtraction2
	print("the result is: " + result2)
def Multiplication(multiplication1,multiplication2):
	result3 = multiplication1*multiplication2
	print("the result is: " + result3)
def Division(division1,division2):
	result4=division1/division2
	print("the result is: " + result4)
while(True):
	Num1 = float(input("请输入第一个想计算的数"))
	Num2 = float(input("请输入第二个想计算的数"))
	Num3 = int(input("请选择运算功能:1 for+.2 for-.3 for*.4 for/"))
	if Num3 == 1:
		Add(Num1,Num2)
	elif Num3 == 2:
		Subtraction(Num1,Num2)
	elif Num3 == 3:
		Division(Num1,Num2)
	elif Num3 == 4 and Num2 == 0:
		print("Error")
	elif Num3 == 4:
		Multiplication(Num1,Num2)	 	



面向对象编程法

下面介绍博主认为最复杂的一种写法:面向对象编程思想实现计算器功能

class Add:
	def __init__(self):
		pass
	def add(self,add1,add2):
		return add1+add2	
class Subtraction:
	def __init__(self):
		pass
	def subtraction(self,subtraction1,subtraction2)return subtraction1-subtraction2
class Multiplication:
	def __init__(self):
		pass
	def multiplication(self,multiplication1,multiplication2):
		return multiplication1*multiplication2	
class Division:	
	def __init__(self):
		pass
	def division(self,division1,division2):
		return 	division1/division2
while(True):
	Num1=float(input("请输入第一个想计算的数"))
	Num2=float(input("请输入第二个想计算的数"))
	Num3=int(input("请选择功能,1for+.2for-.3for*.4for/"))
	if Num3 == 1:
		resultAdd=Add.add(Num1,Num2)
		print("the result is:" + resultAdd)
	elif Num3 == 2:
		resultSubtraction=Subtraction.subtraction(Num1,Num2)
		print("the result is: " + resultSubtraction)
	elif Num3 == 3:
		resultMultiplication=Multiplication.multiplication(Num1,Num2)
		print("the result is: " + resultMultiplication)
	elif Num3 == 4 and Num2 == 0:
		print("Error")
	elif Num3 == 4:
		resultDivision=Division.division(Num1,Num2)
		print("the result is: " + resultDivision)
	else:
		print("Error")											

以上便是三种计算器的写法,如有问题可在评论区说出来,博主很长时间没碰python了,如有bug请评论区指出。

博主建了一个信息技术交流群,各位如有兴趣可进群交流,无论小白还是大佬。此群为QQ群,群号为:1044573456,如有关于此群问题可联系我,或者联系我的徒弟(也是本群管理)昵称为:幽幻少年。



版权声明:本文为Mittsommer原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。