1. 定义一个Calculator类表示计算器,在该类中定义四个方法add(x, y)、subtract(x, y)、multiply(x, y)、divide(x, y)四个方法分别实现两个数的加法、减法、乘法和除法。

创建Claculator对象,提示用户输入两个操作数和运算符(+,-,*,/),调用对应的方法得到计算结果。请设计一个友好的信息交互方式。

#
#  main.py
#  Calculator
#
#  Created by Mewlan Musajan on 4/29/21
#  Bug fixed on 2/2/24.
#

from decimal import Decimal, DecimalException
 
class Calculator():
	first_number = 0
	last_number = 0
	result = ''
	def add(self):
		print("%s + %s = %s" % (self.first_number, self.last_number, self.first_number + self.last_number))
	def subtract(self):
		print("%s - %s = %s" % (self.first_number, self.last_number, self.first_number - self.last_number))
	def multiply(self):
		print("%s * %s = %s" % (self.first_number, self.last_number, self.first_number * self.last_number))
	def divide(self):
		if self.first_number != 0:
			print("%g / %g = %g" % (self.first_number, self.last_number, self.first_number / self.last_number))
		else:
			inputViewModel()
 
def inputViewModel():
	calculator = Calculator()
	calculator.first_number = 0
	calculator.last_number = 0
	calculator.first_number = input('HÉSABLIMAQCHI BOLGHAN DESLEPKI SANNI KIRGÜZÜNG: ')
	calculator.last_number = input('HÉSABLIMAQCHI BOLGHAN KIYINKI SANNI KIRGÜZÜNG: ')
	isInputValid(calculator.first_number, calculator.last_number)
	calculator.first_number.split(" ")
	calculator.last_number.split(" ")
	calculator.first_number = float(calculator.first_number)
	calculator.last_number = float(calculator.last_number)
	calculator.result = input('(HÉSABLASH) EMEL BELGISINI KIRGÜZÜNG(+, -, *, /): ')
	if calculator.result == '+':
		calculator.resultdd()
	elif calculator.result == '-':
		calculator.subtract()
	elif calculator.result == '*':
		calculator.multiply()
	elif calculator.result == '/':
		calculator.divide()
	else:
		inputViewModel()
	print("HÉSABLASH TAMAMLANDI.")
	exit()
 
def isInputValid(first_number, last_number):
	try:
		Decimal(first_number)
	except DecimalException:
		inputViewModel()
	except DivisionByZero:
		inputViewModel()
	try:
		Decimal(last_number)
	except DecimalException:
		inputViewModel()
	except DivisionByZero:
		inputViewModel()
	else:
		pass
	finally:
		pass
 
inputViewModel()

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐