导航:首页 > 编程语言 > 用python编写计算器

用python编写计算器

发布时间:2024-04-15 12:35:41

1. 如何使用python编程写一个加法计算器

1、打开idle。点击file,然后点击new file.这是创建一个新的文件。
新建一个文件之后,我们输入第一行代码,使用print函数,在屏幕上打印一句话,其中字符串要使用双引号,输入法要使用英文输入法,如果符号使用中文输入法输入,就会出现错误。print("我们做一个两个整数相加的计算题!")
同理,在屏幕上打印第二句话,与用户交互,提醒用户输入第一个数。
第三行调用input函数,将用户输入的内容赋值给a,这时候a收到的是字符串信息,所以需要下一步把字符串转换为整型。这输入计算机处理数据指令。
然后依照以上的步骤写第二个加数,和最后输出的和,注意最后一句打印结果时,引号内部是字符串形式,x+y是数值形式,所以需要在中间加上一个逗号。如果不加逗号就会提示错误信息,以上就是所有的程序编写完成,下一步就开始保存,命名,运行。如图所示
运行结果如下:
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于如何使用python编程写一个加法计算器的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

2. python镄凩2璁$畻鍣ㄦ槸浠涔堬纻

杩愯岃繖涓绋嫔簭
import tkinter as tk

class Calculator:
def __init__(self, master):
self.master = master
master.title("Calculator")

# 鍒涘缓鏄剧ず灞
self.display = tk.Entry(master, width=20, font=('Arial', 16))
self.display.grid(row=0, column=0, columnspan=4, padx=5, pady=5)

# 鍒涘缓鏁板瓧鎸夐挳
self.create_button(1, 1, "1")
self.create_button(1, 2, "2")
self.create_button(1, 3, "3")
self.create_button(2, 1, "4")
self.create_button(2, 2, "5")
self.create_button(2, 3, "6")
self.create_button(3, 1, "7")
self.create_button(3, 2, "8")
self.create_button(3, 3, "9")
self.create_button(4, 2, "0")

# 鍒涘缓杩愮畻绗︽寜阍
self.create_button(1, 4, "+")
self.create_button(2, 4, "-")
self.create_button(3, 4, "*")
self.create_button(4, 4, "/")

# 鍒涘缓鍏朵粬鎸夐挳
self.create_button(4, 1, "C")
self.create_button(4, 3, "=")

def create_button(self, row, column, text):
button = tk.Button(self.master, text=text, width=5, height=2, font=('Arial', 16), command=lambda:self.button_click(text))
button.grid(row=row, column=column, padx=5, pady=5)

def button_click(self, text):
if text == "C":
self.display.delete(0, tk.END)
elif text == "=":
try:
result = eval(self.display.get())
self.display.delete(0, tk.END)
self.display.insert(0, result)
except:
self.display.delete(0, tk.END)
self.display.insert(0, "Error")
else:
self.display.insert(tk.END, text)

root = tk.Tk()
calculator = Calculator(root)
root.mainloop()

3. 将 Python 当做计算器使用方法

我们来尝试一些简单的 Python 命令。启动解释器然后等待主提示符 >>> 出现(不需要很久)。
3.1.1. 数字
解释器表现得就像一个简单的计算器:可以向其录入一些表达式,它会给出返回值。表达式语法很直白:运算符 +,-,* 和 / 与其它语言一样(例如:Pascal 或 C);括号 (()) 用于分组。
整数(例如,2, 4, 20 )的类型是 int,带有小数部分的数字(例如,5.0, 1.6)的类型是 float。在本教程的后面我们会看到更多关于数字类型的内容。
除法(/)永远返回一个浮点数。如要使用 floor 除法 并且得到整数结果(丢掉任何小数部分),你可以使用 // 运算符;要计算余数你可以使用 %
此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。
除了 int 和 float,Python 还支持其它数字类型,例如 Decimal 和 Fraction。Python 还内建支持 复数 ,使用后缀 j 或 J 表示虚数部分

4. python计算器

python计算器实现:

wx.TextCtrl(文本输入控件),这个作为计算器的显示屏,点击数字时用AppendText方法将数字添加至文本末尾,要取出数字时用GetValue方法,点击运算符时要将文本框中的数字清空(先存储)用Clear方法然后还有将操作符保存,点击等号后要将第二个操作数存储,然后用int方法将字符串转换为数字,计算后用SetValue方法将结果送入文本框,具体代码如下:

importwx
#beginwxGlade:extracode
#endwxGlade
classMyFrame(wx.Frame):
def__init__(self,*args,**kwds):
#beginwxGlade:MyFrame.__init__
kwds["style"]=wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self,*args,**kwds)
self.text_ctrl_1=wx.TextCtrl(self,-1,"",style=wx.TE_READONLY)
self.button_37=wx.Button(self,-1,"1")
self.button_38=wx.Button(self,-1,"2")
self.button_39=wx.Button(self,-1,"3")
self.button_40=wx.Button(self,-1,"+")
self.button_41=wx.Button(self,-1,"4")
self.button_42=wx.Button(self,-1,"5")
self.button_43=wx.Button(self,-1,"6")
self.button_44=wx.Button(self,-1,"-")
self.button_46=wx.Button(self,-1,"7")
self.button_45=wx.Button(self,-1,"8")
self.button_47=wx.Button(self,-1,"9")
self.button_48=wx.Button(self,-1,"x")
self.button_49=wx.Button(self,-1,"C")
self.button_50=wx.Button(self,-1,"0")
self.button_51=wx.Button(self,-1,"=")
self.button_52=wx.Button(self,-1,"/")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_BUTTON,self.bu1,self.button_37)
self.Bind(wx.EVT_BUTTON,self.bu2,self.button_38)
self.Bind(wx.EVT_BUTTON,self.bu3,self.button_39)
self.Bind(wx.EVT_BUTTON,self.bu_plus,self.button_40)
self.Bind(wx.EVT_BUTTON,self.bu4,self.button_41)
self.Bind(wx.EVT_BUTTON,self.bu5,self.button_42)
self.Bind(wx.EVT_BUTTON,self.bu6,self.button_43)
self.Bind(wx.EVT_BUTTON,self.bu_min,self.button_44)
self.Bind(wx.EVT_BUTTON,self.bu7,self.button_46)
self.Bind(wx.EVT_BUTTON,self.bu8,self.button_45)
self.Bind(wx.EVT_BUTTON,self.bu9,self.button_47)
self.Bind(wx.EVT_BUTTON,self.bu_mul,self.button_48)
self.Bind(wx.EVT_BUTTON,self.bu_clear,self.button_49)
self.Bind(wx.EVT_BUTTON,self.bu0,self.button_50)
self.Bind(wx.EVT_BUTTON,self.bu_result,self.button_51)
self.Bind(wx.EVT_BUTTON,self.bu_chu,self.button_52)
#endwxGlade
self.Show(True)
def__set_properties(self):
#beginwxGlade:MyFrame.__set_properties
self.SetTitle("PythonCalculaterbyCYG")
self.text_ctrl_1.SetMinSize((400,50))
self.button_37.SetMinSize((100,50))
self.button_38.SetMinSize((100,50))
self.button_39.SetMinSize((100,50))
self.button_40.SetMinSize((100,50))
self.button_41.SetMinSize((100,50))
self.button_42.SetMinSize((100,50))
self.button_43.SetMinSize((100,50))
self.button_44.SetMinSize((100,50))
self.button_46.SetMinSize((100,50))
self.button_45.SetMinSize((100,50))
self.button_47.SetMinSize((100,50))
self.button_48.SetMinSize((100,50))
self.button_49.SetMinSize((100,50))
self.button_50.SetMinSize((100,50))
self.button_51.SetMinSize((100,50))
self.button_52.SetMinSize((100,50))
#endwxGlade
def__do_layout(self):
#beginwxGlade:MyFrame.__do_layout
sizer_2=wx.BoxSizer(wx.VERTICAL)
sizer_3=wx.BoxSizer(wx.VERTICAL)
grid_sizer_1=wx.GridSizer(4,4,0,0)
sizer_3.Add(self.text_ctrl_1,0,0,0)
grid_sizer_1.Add(self.button_37,0,0,0)
grid_sizer_1.Add(self.button_38,0,0,0)
grid_sizer_1.Add(self.button_39,0,0,0)
grid_sizer_1.Add(self.button_40,0,0,0)
grid_sizer_1.Add(self.button_41,0,0,0)
grid_sizer_1.Add(self.button_42,0,0,0)
grid_sizer_1.Add(self.button_43,0,0,0)
grid_sizer_1.Add(self.button_44,0,0,0)
grid_sizer_1.Add(self.button_46,0,0,0)
grid_sizer_1.Add(self.button_45,0,0,0)
grid_sizer_1.Add(self.button_47,0,0,0)
grid_sizer_1.Add(self.button_48,0,0,0)
grid_sizer_1.Add(self.button_49,0,0,0)
grid_sizer_1.Add(self.button_50,0,0,0)
grid_sizer_1.Add(self.button_51,0,0,0)
grid_sizer_1.Add(self.button_52,0,0,0)
sizer_3.Add(grid_sizer_1,1,wx.EXPAND,0)
sizer_2.Add(sizer_3,1,wx.EXPAND,0)
self.SetSizer(sizer_2)
sizer_2.Fit(self)
self.Layout()
#endwxGlade
defbu1(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("1")
event.Skip()
defbu2(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("2")
event.Skip()
defbu3(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("3")
event.Skip()
defbu_plus(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="+"
self.text_ctrl_1.Clear()
event.Skip()
defbu4(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("4")
event.Skip()
defbu5(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("5")
event.Skip()
defbu6(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("6")
event.Skip()
defbu_min(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="-"
self.text_ctrl_1.Clear()
event.Skip()
defbu7(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("7")
event.Skip()
defbu8(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("8")
event.Skip()
defbu9(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("9")
event.Skip()
defbu_mul(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="x"
self.text_ctrl_1.Clear()
event.Skip()
defbu_clear(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.Clear()
event.Skip()
defbu0(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("0")
event.Skip()
defbu_chu(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="/"
self.text_ctrl_1.Clear()
event.Skip()
defbu_result(self,event):#wxGlade:MyFrame.<event_handler>
self.num2=self.text_ctrl_1.GetValue()
num1=int(self.num1)
num2=int(self.num2)
ifself.op=="+":
self.text_ctrl_1.SetValue(str(num1+num2))
elifself.op=="-":
self.text_ctrl_1.SetValue(str(num1-num2))
elifself.op=="x":
self.text_ctrl_1.SetValue(str(num1*num2))
elifself.op=="/":
self.text_ctrl_1.SetValue(str(num1/num2))
event.Skip()
#endofclassMyFrame
if__name__=="__main__":
app=wx.App(False)
myframe=MyFrame(None)
app.MainLoop()

5. 如何运用Python编写简易计算器

import time
print("计算器")
print("+等于加法模式 -等于减法模式 *等于乘法模式 /等于除法模式")
while 2 > 1:
try:
print("请输入+,-,*或/")
a = input()
if a == "+":
print("请输入第1个加数")
b = input()
print("请输入第2个加数")
c = input()
print("计算中")
time.sleep(0.3)
j = float(b) + float(c)
print("等于"+str(j))
elif a == "-":
print("请输入被减数")
b = input()
print("请输入减数")
c = input()
print("计算中")
time.sleep(0.3)
j = float(b) - float(c)
print("等于"+str(j))
elif a == "*":
print("请输入第1个因数")
b = input()
print("请输入第2个因数")
c = input()
print("计算中")
time.sleep(0.3)
j = float(b) * float(c)
print("等于"+str(j))
elif a == "/":
print("……等于余数模式 .等于小数模式")
print("请输入……或.")
a = input()
if a == ".":
print("请输入被除数")
b = input()
print("请输入除数")
c = input()
print("计算中")
time.sleep(0.3)
j = float(b) / float(c)
print("等于"+str(j))
if c == "0":
print("除数不能为0!")
elif a == "……":
print("请输入被除数")
b = input()
print("请输入除数")
c = input()
j = float(b) // float(c)
e = float(b) % float(c)
print("等于"+str(j)+"……"+str(e))
if c == "0":
print("除数不能为0!")
except Exception as e:
print("您输入的内容有错误")

6. Python灏忕槠涓鏋氾纴镊宸卞啓镄凚MI鎸囨暟璁$畻鍣锛屾眰鏁欓珮镓嬩竴涓嬩唬镰佸备綍閲嶅嶈緭鍏ヤ互鍙婂备綍缁撴潫寰鐜锛

𨱍宠╃▼搴忓惊鐜锛屽湪链澶栧眰濂椾竴涓犸hile灏卞彲浠ヤ简锛屾兂璺冲嚭镄勬椂鍊椤啓break灏卞彲浠ヤ简銆

鍦ㄤ綘镄勪唬镰佷腑锛寃hile涓嶈ュ楀湪if澶栭溃锛屽叾娆″儚浣犺繖镙峰垽鏂鐩存帴鐢╥f锛屽氨鍙浠ヤ简锛屼笉闇瑕乪lseif锛岀洿鎺if鏁堢巼镟撮珮銆

𨱍宠烦鍑猴纴鍙瑕佸啓𨱒′欢镓ц宐reak灏辫岋纴姣斿备笅闱㈡垜镄勪唬镰佷腑锛岃緭鍏N灏辩粨𨱒燂纴杈揿叆Y灏辩户缁銆

while(1):

print('Welcome to use calculator of BMI exponent for human:')

w = float(input('Please enter your weight(kg):'))

h = float(input('Please enter your height(m):'))

BMI = w / (h * h)

if BMI < 18.5: print('you are thin !')

if 18.5 <= BMI <=24.9: print('you are normal !')

if BMI >=25: print('you are little fat !')

if 25.0 < BMI <=29.9: print('you are more little fat !')

if 30.0 <= BMI <= 34.9: print('you are fat !')

if 35.0 <= BMI <=39.9: print('you are serious fat !')

if BMI >=40: print('you are extreme fat !')


print('continue?Y/N')

n=''

while(n!='Y' and n!='N'):

n=input()

if(n=='N'):

break


7. 用python操作Windows的计算器。

pyhook可以抓到键。

不过这里只需要消息就可以了,win32api中的windows的message

使用vc中的消息 工具,抓键盘消息。然后再把这个消息包装一下用pywin32中的API发送过去。

我以前用pyhook加pywin32, 控制过一个游戏,做外挂。

也用pywin32的com接口控制过excel

8. 用Python中split函数编写一个加减乘除计算器,要求只能输入一行,输入两个操作数和一个操作符

题主你好,

写在前面: 回答共写了三种写法,其中a写法是符合题意的; b,c虽不符合题意但可作为参考,并且b,c代码是完全一样的,只不过在输入的时候b方案使用了空格作为操作数与操作符之间的分隔符,而c方案操作数与操作符之间无分隔符.

a.使用split()函数处理输入的相关代码及运行截图如下:

希望对题主有帮助, 欢迎追问

阅读全文

与用python编写计算器相关的资料

热点内容
北京服务器硬盘回收门店云主机 浏览:837
神探狄仁杰5在哪个app可以观看 浏览:697
云南中级程序员实战培训 浏览:674
安卓软件什么平台比较好 浏览:153
linux五笔输入法下载 浏览:923
程序员问题解决方案 浏览:78
数据和app哪个好 浏览:120
大众app怎么显示车去哪里 浏览:274
柱根部的加密区长度怎么算 浏览:847
沈阳人力资源公司外包程序员 浏览:313
陌探app哪个好 浏览:289
法院案件查哪个app 浏览:479
计算器算法问题 浏览:748
右肺被压缩约80 浏览:641
vb编译的语法错误是什么 浏览:841
清华大学编译原理2020 浏览:285
怎么才能获得云服务器 浏览:809
海康服务器mgmt是什么 浏览:717
调节按钮与单片机接口图 浏览:739
酒小七网盘文件夹 浏览:836