• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python3.5仿微软计算器程序

python3.5仿微软计算器程序

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python3.5中文手册,python3.5安装步骤,python3.5官网下载,python3.5安装教程,python3.5等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例为大家分享了python3.5仿微软计算器的具体代码,供大家参考,具体内容如下

from tkinter import *
from math import *
root = Tk()
root.title("计算器")
root.geometry("1200x260+0+0")
 
 
def come(event):
  event.widget["background"]= "orange"#event的widget方法,恩,恩,值得看看
def go(event):
  event.widget["background"] = "#%02x%02x%02x" % (240,240,240)#实现RGB和十六进制的换算
def num1():
  text.insert(END,1)
def num2():
  text.insert(END,2)
def num3():
  text.insert(END,3)
def num4():
  text.insert(END,4)
def num5():
  text.insert(END,5)
def num6():
  text.insert(END,6)
def num7():
  text.insert(END,7)
def num8():
  text.insert(END,8)
def num9():
  text.insert(END,9)
def num0():
  if text.get(END) =="/":
    messagebox.showinfo(title ="除数不能为零")
  else:
    text.insert(END,0)
def dot_it():
  text.insert(END,".")
   
def Addnum():
  if text.get(1.0,END):
    text.insert(END,"+")
def minus_num():
  if text.get(1.0,END):
    text.insert(END,"-")
def times_num():
  if text.get(1.0,END):
    text.insert(END,"*")
def div_num():
  if text.get(1.0,END):
    text.insert(END,"/")
   
def equal_it():#可以使用text的search方法排除除法和开根号的例外
  global list_power,x,list_log,xylog
  se = text.get(1.0,END)
  if se:
    if "/" in text.get(1.0,END):
      div_pos = text.search("/",1.0,END)
      pos = div_pos.split(".")
      text_row = pos[0]
      text_column = pos[1]
      newpos = "%d.%d" % (int(text_row),int(text_column)+1)
      cool = eval(text.get(newpos,END))
      if cool == 0:
        text_alert.insert(1.0,"被除数不能为零")
        return
      else:
        se = eval(se)
        text.delete(1.0,END)
        text.insert(1.0,se)
    elif xypower==True:#通过设全局变量为哨兵,看函数是否被调用
      list_power.append(eval(se))
      text.delete(1.0,END)
      text.insert(1.0,pow(list_power[0],list_power[1]))
      list_power = []
    elif xylog ==True:
      list_log.append(eval(se))
      text.delete(1.0,END)
      text.insert(1.0,log(list_log[1],list_log[0]))
      list_log = []
       
       
    else:
      se = eval(se)
      text.delete(1.0,END)
      text.insert(1.0,se)
  else:
    text.delete(1.0,END)
def negative():
  text.insert(END,"-")
def Square_root():
  if eval(text.get(1.0,END))>=0:
    rootit =sqrt(eval(text.get(1.0,END)))
    text.delete(1.0,END)
    text.insert(1.0,rootit)
def Per():
  if text.get(1.0,END):
    num = eval(text.get(1.0,END))
    text.insert(END,"%")
    newnum = num*0.01
    text.delete(1.0,END)
    text.insert(1.0,newnum)
 
def Reci_num():
  #text.get(1.0,"%s-2c" % END).strip("\n")
  #if text.get(1.0,"%s-1c" % END).isdigit():
    # if type(aa)==type(bb) 可以用来判断数据类型
    # if type(aa)==type(1)
    #if type(aa)==type("我")
    #if type(aa)==type(3.14)
  if eval(text.get(1.0,END))!=0:
    num = eval(text.get(1.0,END).strip("\n"))
    num = 1/num
    text.delete(1.0,END)
    text.insert(1.0,num)
  else:
      text_alert.insert(1.0,"零不能求倒数")
   
def C():
  global memorylist,list_power,list_log# global的用法
  text.delete(1.0,END)
  text_alert.delete(1.0,END)
  memorylist = []
  list_power = []
  list_log =[]
   
def CE():
  text.delete(1.0,END)
  text_alert.delete(1.0,END)
def delete_onechar():
  text.delete("%s-1c" % INSERT,INSERT)#字符index的移动
def Mc():
  global memorylist
  memorylist = []
def Ms():
  global memorylist
  memorylist.append(eval(text.get(1.0,END)))
  text.delete(1.0,END)
def M_plus():
  global memorylist
  global m_plus
  m_plus = True
  memorylist.append(eval(text.get(1.0,END)))
  text.delete(1.0,END)
  return True
def M_minus():
  global memorylist
  global m_minus
  m_minus =True
  memorylist.append(eval(text.get(1.0,END)))
  text.delete(1.0,END)
  return True
def Mr():
  global memorylist
  global m_plus
  global m_minus
  text.delete(1.0,END)
  if m_plus == True:
    sum1 =0
    for i in range(len(memorylist)):
      sum1 = sum1 + memorylist[i]
    memorylist =[]
    memorylist.append(sum1)
    text.insert(1.0,sum1)
  elif m_minus == True:
    difference = 0
    for i in range(len(memorylist)):
      difference = memorylist[i]-difference
    difference = - difference
    memorylist.append(difference)
    text.insert(1.0,difference)
def angle_radio():
  text.delete(1.0,END)
  global angle_is
  angle_is =True
     
def radium_radio():
  text.delete(1.0,END)
  global radium_is
  radium_is =True
def angle_choice():
  global x
  if angle_is == True:
    x = pi*eval(text.get(1.0,END))/180
  if radium_is == True:
    x = eval(text.get(1.0,END))
def circle_ratio():
  text.insert(END,pi)
def sin_x():
  global x
  angle_choice()
  text.delete(1.0,END)
  text.insert(1.0,sin(x))
   
def cos_x():
  global x
  angle_choice()
  text.delete(1.0,END)
  text.insert(1.0,cos(x))
   
def tan_x():
  angle_choice()
  if x == 90 or x == pi/2:
    text_alert.insert(1.0,"正切角度不能为90度或π/2弧度")
    return
  else:
    text.delete(1.0,END)
    text.insert(1.0,tan(x))
   
def square_it():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,pow(temp,2))
def x_ypower():
  global list_power,x,xypower
  xypower =True
  x = eval(text.get(1.0,END))
  list_power.append(x)
  text.delete(1.0,END)
def tri_power():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,pow(temp,3))
def Bracket_left():
  text.insert(END,"(")
def Bracket_right():
  text.insert(END,")")
def nature_log():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,log1p(temp))
def deci_log():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,log10(temp))
def bina_log():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,log2(temp))
def y_based_on_x_log():
  global list_log,x,xylog
  xylog =True
  x = eval(text.get(1.0,END))
  list_log.append(x)
  text.delete(1.0,END)
def natur_const():
  text.insert(END,e)
def anti_sin():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,asin(temp)*180/pi)
def anti_cos():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,acos(temp)*180/pi)
def anti_tan():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,atan(temp)*180/pi)
def sqrt_num():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,sqrt(temp))
def tri_root():
  temp = eval(text.get(1.0,END))
  text.delete(1.0,END)
  text.insert(1.0,pow(temp,1/3))
   
def standard():
  MC = Button(root,text ="MC",width =10,command = Mc)
  MC.bind("<Enter>",come)
  MC.bind("<Leave>",go)
  MC.grid(row=2,column =0,sticky =W,padx =1)
  MR = Button(root,text ="MR",width =10,command = Mr)
  MR.grid(row=2,column =1,stick = W,padx =1)
  MR.bind("<Enter>",come)
  MR.bind("<Leave>",go)
  MS = Button(root,text ="MS",width =10,command =Ms)
  MS.grid(row=2,column =2,sticky =W,padx =1)
  MS.bind("<Enter>",come)
  MS.bind("<Leave>",go)
  M_ADD = Button(root,text ="M+",width =10,command =M_plus)
  M_ADD.grid(row=2,column =3,sticky =W,padx =1)
  M_ADD.bind("<Enter>",come)
  M_ADD.bind("<Leave>",go)
  M_ADD.bind("<>")
  M_Minus = Button(root,text ="M-",width =10,command =M_minus)
  M_Minus.grid(row=2,column =4,sticky =W,padx =1)
  M_Minus.bind("<Enter>",come)
  M_Minus.bind("<Leave>",go)
 
  DEL = Button(root,text ="→",width =10,command =delete_onechar)
  DEL.grid(row=3,column =0,sticky =W,padx =1)
  DEL.bind("<Enter>",come)
  DEL.bind("<Leave>",go)
  CEbtn = Button(root,text ="CE",width =10,command =CE)
  CEbtn.grid(row=3,column =1,sticky =W,padx =1)
  CEbtn.bind("<Enter>",come)
  CEbtn.bind("<Leave>",go)
  Cbtn = Button(root,text ="C",width =10
  


 

您可能想查找下面的文章:

  • python3.5实现socket通讯示例(TCP)
  • 使用python3.5仿微软记事本notepad
  • python3.5仿微软计算器程序
  • python实现中文输出的两种方法

相关文章

  • Linux中Python 环境软件包安装步骤
  • 使用Python获取Linux系统的各种信息
  • 详解python开发环境搭建
  • 对于Python的Django框架部署的一些建议
  • Python3实现从指定路径查找文件的方法
  • 跟老齐学Python之集合(set)
  • 为Python的web框架编写前端模版的教程
  • Python读写配置文件的方法
  • python使用电子邮件模块smtplib的方法
  • python实现带错误处理功能的远程文件读取方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 使用python遍历指定城市的一周气温
    • 小结Python用fork来创建子进程注意事项
    • Python读取环境变量的方法和自定义类分享
    • 举例讲解Python中装饰器的用法
    • python监控网卡流量并使用graphite绘图的示例
    • Python 功能和特点(新手必学)
    • python根据日期返回星期几的方法
    • 使用Python进行稳定可靠的文件操作详解
    • Python的Django框架中的数据过滤功能
    • 用python写asp详细讲解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有