Python 简单计算器实现
以下代码用于实现简单计算器实现,包括两个数基本的加减乘除运算:
实例(Python 3.0+)
# Filename : test.py
# author by : www.runoob.com
# 定义函数
def add(x, y):
"""相加"""
return x + y
def subtract(x, y):
"""相减"""
return x - y
def multiply(x, y):
"""相乘"""
return x * y
def divide(x, y):
"""相除"""
return x / y
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
choice = input("输入你的选择(1/2/3/4):")
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
if choice == '1':
print(num1,"+",num2,"=", add(num1,num2))
elif choice == '2':
print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == '3':
print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
print(num1,"/",num2,"=", divide(num1,num2))
else:
print("非法输入")
执行以上代码输出结果为:
选择运算: 1、相加 2、相减 3、相乘 4、相除 输入你的选择(1/2/3/4):2 输入第一个数字: 5 输入第二个数字: 2 5 - 2 = 3
另外一个实现代码:
实例
# 简单计算器程序
# 定义函数来执行加法
def add(x, y):
return x + y
# 定义函数来执行减法
def subtract(x, y):
return x - y
# 定义函数来执行乘法
def multiply(x, y):
return x * y
# 定义函数来执行除法
def divide(x, y):
if y != 0:
return x / y
else:
return "除数不能为零"
# 主程序循环
while True:
print("\n选择一个运算:")
print("1. 加法")
print("2. 减法")
print("3. 乘法")
print("4. 除法")
print("5. 退出")
choice = input("输入选项编号: ")
if choice in ('1', '2', '3', '4'):
num1 = float(input("输入第一个数: "))
num2 = float(input("输入第二个数: "))
if choice == '1':
print(f"结果: {add(num1, num2)}")
elif choice == '2':
print(f"结果: {subtract(num1, num2)}")
elif choice == '3':
print(f"结果: {multiply(num1, num2)}")
elif choice == '4':
print(f"结果: {divide(num1, num2)}")
elif choice == '5':
print("退出程序.")
break
else:
print("无效的选项,请重新输入.")
# 定义函数来执行加法
def add(x, y):
return x + y
# 定义函数来执行减法
def subtract(x, y):
return x - y
# 定义函数来执行乘法
def multiply(x, y):
return x * y
# 定义函数来执行除法
def divide(x, y):
if y != 0:
return x / y
else:
return "除数不能为零"
# 主程序循环
while True:
print("\n选择一个运算:")
print("1. 加法")
print("2. 减法")
print("3. 乘法")
print("4. 除法")
print("5. 退出")
choice = input("输入选项编号: ")
if choice in ('1', '2', '3', '4'):
num1 = float(input("输入第一个数: "))
num2 = float(input("输入第二个数: "))
if choice == '1':
print(f"结果: {add(num1, num2)}")
elif choice == '2':
print(f"结果: {subtract(num1, num2)}")
elif choice == '3':
print(f"结果: {multiply(num1, num2)}")
elif choice == '4':
print(f"结果: {divide(num1, num2)}")
elif choice == '5':
print("退出程序.")
break
else:
print("无效的选项,请重新输入.")
Python3 实例
BOB_010
142***4020@qq.com
def divide(x,y): #相除 if y ==0: print('0不能做为分母') return else: return x/y choice =int(input("请选择运算:\n1,相加\n2,相减\n3,相乘\n4,相除\n请输入运算(1/2/3/4):")) num1 = float(input("请输入第一个数:")) num2 = float(input("请输入第二个数:")) if choice ==1: print("{}+{}={}".format(num1,num2,num1+num2)) elif choice ==2: print("{}-{}={}".format(num1,num2,num1-num2)) elif choice ==3: print("{}x{}={}".format(num1,num2,num1*num2)) elif choice ==4: print("{}/{}={}".format(num1,num2,divide(num1,num2))) else: print("选择的运算为非法输入")BOB_010
142***4020@qq.com
Ralap
web***@qq.com
参考地址
参考方法:
class oper: oper="" func="" def __init__(self,oper): self.oper=oper.strip() def opers(self,num1,num2): swicher={ '+':'jia', '-':'jian', '*':'cheng', '/':'chu', } func=swicher.get(self.oper,'default') if func == 'default': print('运算符错误') exit() num1=float(num1) num2=float(num2) func=getattr(self,func) return func(num1,num2) def jia(self,num1,num2): return num1 + num2 def jian(self,num1,num2): return num1 - num2 def cheng(self,num1,num2): return num1 * num2 def chu(self,num1,num2): return num1 / num2 import re print("例如:2+2,自动计算结果") nums=input("请输入:") numsObj=re.search(r'(\d+)(.*?)(\d+)',nums,re.M) if numsObj: num1=numsObj.group(1) fuhao=numsObj.group(2) num2=numsObj.group(3) operObj=oper(fuhao) res=operObj.opers(num1,num2) print('运算结果{}'.format(res)) else: print("输入错误,{}".format(nums))Ralap
web***@qq.com
参考地址
yqloss
205***4725@qq.com
很简单的计算器,在输入框中输入计算表达式(如:2+2),按 GET RESULT 就可以计算:
from math import * try: from tkinter import * except ImportError: from Tkinter import * def calc(): text = var.get() result = eval(text) result = result / 1.0 result = str(result) var.set(result) text = '' result = '' root = Tk() pi = 3.1415926535897932 root.geometry('360x48') root.resizable(width=False,height=False) root.title('Mini Calculator') var = StringVar() entry = Entry(root,textvariable=var,width=360) button = Button(root,text='GET RESULT',command=calc) entry.pack() button.pack() root.mainloop()yqloss
205***4725@qq.com
苏
124***1589@qq.com
参考方法:
def divide(x, y): if y == 0: return '分母不能为0, 计算无效' else: return x / y judge = True symbol = {'1': '+', '2': '-', '3': '×', '4': '÷'} while judge: def counter(x, y, num): expression = {'1': x + y, '2': x - y, '3': x * y, '4': divide(x, y)} if type(expression[num]) == int or type(expression[num]) == float: return '{}{}{}={}'.format(x, symbol[num], y, expression[num]) else: return expression[num] print('选择运算:1、相加 2、相减 3、相乘 4、相除') chose = input('请输入你的选择(1/2/3/4):') num1 = int(input('请输入第一个数字:')) num2 = int(input('请输入第二个数字:')) print('计算结果:',counter(num1, num2, chose)) print('是否离开程序:是(Y) 否(N)') choice = input('请选择:') if choice == 'Y': judge = False print('程序结束!')苏
124***1589@qq.com