python界面计算器,用python制作计算器

本文目录一览:

如何用python编写计算器

我想你的需求应该是一个图形界面的程序,而不是简单的在命令行上输入。

那么,要做的第一件事就是选择一个图形界面套件。可以使用原生的TK,也可以用跨平台性能很好的wxPython,或者是整体结构很像MFC的PyWin32。至于pyGTK,pyQT,都是可选的,但是相对来说文档比较少,学习不便。

选定图形库之后,就可以看文档范例了。计算器总体是比较简单的。我记得WxPython的demo里直接就有一个简单计算器,您可以直接取来用。

python计算器

python计算器实现:

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

import wx

# begin wxGlade: extracode

# end wxGlade

class MyFrame(wx.Frame):

    def __init__(self, *args, **kwds):

        # begin wxGlade: 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)

        # end wxGlade

        self.Show(True)

    def __set_properties(self):

        # begin wxGlade: MyFrame.__set_properties

        self.SetTitle(“Python Calculater by CYG”)

        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))

        # end wxGlade

    def __do_layout(self):

        # begin wxGlade: 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()

        # end wxGlade

    def bu1(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“1”)

        event.Skip()

    def bu2(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“2”)

        event.Skip()

    def bu3(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“3”)

        event.Skip()

    def bu_plus(self, event):  # wxGlade: MyFrame.event_handler

        self.num1=self.text_ctrl_1.GetValue()

        self.op=”+”

        self.text_ctrl_1.Clear()

        event.Skip()

    def bu4(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“4”)

        event.Skip()

    def bu5(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“5”)

        event.Skip()

    def bu6(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“6”)

        event.Skip()

    def bu_min(self, event):  # wxGlade: MyFrame.event_handler

        self.num1=self.text_ctrl_1.GetValue()

        self.op=”-“

        self.text_ctrl_1.Clear()

        event.Skip()

    def bu7(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“7”)

        event.Skip()

    def bu8(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“8”)

        event.Skip()

    def bu9(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“9”)

        event.Skip()

    def bu_mul(self, event):  # wxGlade: MyFrame.event_handler

        self.num1=self.text_ctrl_1.GetValue()

        self.op=”x”

        self.text_ctrl_1.Clear()

        event.Skip()

    def bu_clear(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.Clear()

        event.Skip()

    def bu0(self, event):  # wxGlade: MyFrame.event_handler

        self.text_ctrl_1.AppendText(“0”)

        event.Skip()

    def bu_chu(self, event):  # wxGlade: MyFrame.event_handler

        self.num1=self.text_ctrl_1.GetValue()

        self.op=”/”

        self.text_ctrl_1.Clear()

        event.Skip()

    def bu_result(self, event):  # wxGlade: MyFrame.event_handler

        self.num2=self.text_ctrl_1.GetValue()

        num1=int(self.num1)

        num2=int(self.num2)

        if self.op==”+”:

            self.text_ctrl_1.SetValue(str(num1+num2))

        elif self.op==”-“:

            self.text_ctrl_1.SetValue(str(num1-num2))

        elif self.op==”x”:

            self.text_ctrl_1.SetValue(str(num1*num2))

        elif self.op==”/”:

            self.text_ctrl_1.SetValue(str(num1/num2))

        event.Skip()

# end of class MyFrame

if __name__ == “__main__”:

    app=wx.App(False)

    myframe=MyFrame(None)

    app.MainLoop()

将 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 表示虚数部分

用PYTHON2做个计算器,只要加减乘除

”’

命令行简易计算器

”’

import sys

class culate():

#加法

def add(self,a,b):

return a+b

#减法

def mut(self,a,b):

return a-b

#乘法

def sub(self,a,b):

return a*b

#除法

def mod(self,a,b):

return a/b

c=culate()

while True:

n=input(“请选择你的操作:\n1.加法\n2.减法\n3.乘法\n4.除法\n0.退出\n”)

if n==”0″:

break

elif n==”1″:

a=input(“请输入第一个数:”)

b=input(“请输入第二个数:”)

print(c.add(int(a),int(b)))

continue

elif n==”2″:

a=input(“请输入第一个数:”)

b=input(“请输入第二个数:”)

print(c.mut(int(a),int(b)))

continue

elif n==”3″:

a=input(“请输入第一个数:”)

b=input(“请输入第二个数:”)

print(c.sub(int(a),int(b)))

continue

elif n==”4″:

a=input(“请输入第一个数:”)

b=input(“请输入第二个数:”)

print(c.mod(int(a),int(b)))

continue

”’

结果:

请选择你的操作:

1.加法

2.减法

3.乘法

4.除法

0.退出

3

请输入第一个数:9

请输入第二个数:3

27

请选择你的操作:

1.加法

2.减法

3.乘法

4.除法

0.退出

4

请输入第一个数:9

请输入第二个数:3

3.0

请选择你的操作:

1.加法

2.减法

3.乘法

4.除法

0.退出

”’

如何运用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(“您输入的内容有错误”)

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/189361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 08:02
下一篇 2024-11-29 08:02

相关推荐

  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论