python3.5仿微软计算器程序


Posted in Python onMarch 30, 2020

本文实例为大家分享了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,command =C)
 Cbtn.grid(row=3,column =2,sticky =W,padx =1)
 Cbtn.bind("<Enter>",come)
 Cbtn.bind("<Leave>",go)
 negativ = Button(root,text ="负号 - ",width =10,command = negative)
 negativ.grid(row=3,column =3,sticky =W,padx =1)
 negativ.bind("<Enter>",come)
 negativ.bind("<Leave>",go)
 sqr_root = Button(root,text ="平方根√",width =10,command =Square_root )
 sqr_root.grid(row =3,column =4,sticky =W,padx =1)
 sqr_root.bind("<Enter>",come)
 sqr_root.bind("<Leave>",go)
 
 
 btn7 = Button(root,text =7,width =10,command = num7)
 btn7.grid(row=4,column =0,sticky =W,padx =1)
 btn7.bind("<Enter>",come)
 btn7.bind("<Leave>",go)
 btn8 = Button(root,text =8,width =10,command = num8)
 btn8.grid(row=4,column =1,sticky =W,padx =1)
 btn8.bind("<Enter>",come)
 btn8.bind("<Leave>",go)
 btn9 = Button(root,text =9,width =10,command = num9)
 btn9.grid(row=4,column =2,sticky =W,padx =1)
 btn9.bind("<Enter>",come)
 btn9.bind("<Leave>",go)
 div = Button(root,text ="除法 /",width =10,command = div_num)
 div.grid(row=4,column =3,sticky =W,padx =1)
 div.bind("<Enter>",come)
 div.bind("<Leave>",go)
 per = Button(root,text ="百分之 %",width =10,command =Per)
 per.grid(row=4,column =4,sticky =W,padx =1)
 per.bind("<Enter>",come)
 per.bind("<Leave>",go)
 
 btn4 = Button(root,text =4,width =10,command = num4)
 btn4.grid(row=5,column =0,sticky =W,padx =1)
 btn4.bind("<Enter>",come)
 btn4.bind("<Leave>",go)
 btn5 = Button(root,text =5,width =10,command = num5)
 btn5.grid(row=5,column =1,sticky =W,padx =1)
 btn5.bind("<Enter>",come)
 btn5.bind("<Leave>",go)
 btn6 = Button(root,text =6,width =10,command = num6)
 btn6.grid(row=5,column =2,sticky =W,padx =1)
 btn6.bind("<Enter>",come)
 btn6.bind("<Leave>",go)
 times = Button(root,text ="乘法 ×",width =10,command = times_num)
 times.grid(row=5,column =3,sticky =W,padx =1)
 times.bind("<Enter>",come)
 times.bind("<Leave>",go)
 reciprocal = Button(root,text ="倒数 1/x",width =10,command =Reci_num)
 reciprocal.grid(row=5,column =4,sticky =W,padx =1)
 reciprocal.bind("<Enter>",come)
 reciprocal.bind("<Leave>",go)
 
 
 btn1 = Button(root,text =1,width =10,command = num1)
 btn1.grid(row=6,column =0,sticky =W,padx =1)
 btn1.bind("<Enter>",come)
 btn1.bind("<Leave>",go)
 btn2 = Button(root,text =2,width =10,command = num2)
 btn2.grid(row=6,column =1,sticky =W,padx =1)
 btn2.bind("<Enter>",come)
 btn2.bind("<Leave>",go)
 btn3 = Button(root,text =3,width =10,command = num3)
 btn3.grid(row=6,column =2,sticky =W,padx =1)
 btn3.bind("<Enter>",come)
 btn3.bind("<Leave>",go)
 minus = Button(root,text ="减 - ",width =10,command =minus_num )
 minus.grid(row=6,column =3,sticky =W,padx =1)
 minus.bind("<Enter>",come)
 minus.bind("<Leave>",go)
 equal = Button(root,text ="=",width =10,height =3,command = equal_it)
 equal.grid(row=6,column =4,sticky =W,padx =1,rowspan =2)
 equal.bind("<Enter>",come)
 equal.bind("<Leave>",go)
 
 btn0 = Button(root,text =0,width =22,height =1,command = num0)
 btn0.grid(row=7,column =0,sticky =W,padx =1,columnspan =2)
 btn0.bind("<Enter>",come)
 btn0.bind("<Leave>",go)
 dot = Button(root,text =".",width =7,font =("Times","14"),height =1,command =dot_it)
 dot.grid(row=7,column =2,sticky =W,padx =1)
 dot.bind("<Enter>",come)
 dot.bind("<Leave>",go)
 add = Button(root,text ="加 +",width =10,command = Addnum)
 add.grid(row=7,column =3,sticky =W,padx =1)
 add.bind("<Enter>",come)
 add.bind("<Leave>",go)
 
def sci():
 v =IntVar()
 angle = Radiobutton(root,text = "角度",variable =v,value =1,command =angle_radio)
 angle.grid(row=0,column=6)
 radium = Radiobutton(root,text = "弧度",variable =v,value =2,command =radium_radio )
 radium.grid(row=0,column=7)
 
 sinaa = Button(root,text = "Sin(x)",width =18,command = sin_x)
 sinaa.grid(row = 1,column =6)
 sinaa.bind("<Enter>",come)
 sinaa.bind("<Leave>",go)
 cosaa = Button(root,text = "COS(x)",width =18,command = cos_x)
 cosaa.grid(row =1,column =7)
 cosaa.bind("<Enter>",come)
 cosaa.bind("<Leave>",go)
 tanaa = Button(root,text = "tan(x)",width =18,command =tan_x)
 tanaa.grid(row = 1,column =8)
 tanaa.bind("<Enter>",come)
 tanaa.bind("<Leave>",go)
 x_square = Button(root,text = "x的平方",width =18,command = square_it)
 x_square.grid(row =2,column =6)
 x_square.bind("<Enter>",come)
 x_square.bind("<Leave>",go)
 X_Ytimes = Button(root,text = "x的Y次方",width =18,command =x_ypower)
 X_Ytimes.grid(row = 2,column =7)
 X_Ytimes.bind("<Enter>",come)
 X_Ytimes.bind("<Leave>",go)
 X_tri= Button(root,text = "x的三次方",width =18,command = tri_power)
 X_tri.grid(row = 2,column =8)
 X_tri.bind("<Enter>",come)
 X_tri.bind("<Leave>",go)
 
 leftbra = Button(root,text = "左括号 ( ",width =18,command = Bracket_left)
 leftbra.grid(row = 3,column =6)
 leftbra.bind("<Enter>",come)
 leftbra.bind("<Leave>",go)
 rightbra = Button(root,text = "右括号 )",width =18,command = Bracket_right)
 rightbra.grid(row =3,column =7)
 rightbra.bind("<Enter>",come)
 rightbra.bind("<Leave>",go)
 natural_logs = Button(root,text = "自然对数 In(x)",width =18,command =nature_log)
 natural_logs.grid(row = 7,column =6)
 natural_logs.bind("<Enter>",come)
 natural_logs.bind("<Leave>",go)
 square_root = Button(root,text = "x的平方根",width =18,command = sqrt_num)
 square_root.grid(row =4,column =6)
 square_root.bind("<Enter>",come)
 square_root.bind("<Leave>",go)
 X_Yroot = Button(root,text = "x的Y次方根",width =18,command = x_ypower)
 X_Yroot.grid(row = 4,column =7)
 X_Yroot.bind("<Enter>",come)
 X_Yroot.bind("<Leave>",go)
 X_tri_root = Button(root,text = "x的三次方根",width =18,command = tri_root)
 X_tri_root.grid(row = 4,column =8)
 X_tri_root.bind("<Enter>",come)
 X_tri_root.bind("<Leave>",go)
 
 log10aa = Button(root,text = "以10为底的对数Logx",width =18,command =deci_log)
 log10aa.grid(row = 5,column =6)
 log10aa.bind("<Enter>",come)
 log10aa.bind("<Leave>",go)
 log2aa = Button(root,text = "以2为底的对数Logx",width =18,command =bina_log)
 log2aa.grid(row = 5,column =8)
 log2aa.bind("<Enter>",come)
 log2aa.bind("<Leave>",go)
 pow10 = Button(root,text = "以x为底,y为真数的logx",width =18,command =y_based_on_x_log)
 pow10.grid(row =5,column =7)
 pow10.bind("<Enter>",come)
 pow10.bind("<Leave>",go)
 radio = Button(root,text = "圆周率 π",width =18,command =circle_ratio)
 radio.grid(row = 7,column =7)
 radio.bind("<Enter>",come)
 radio.bind("<Leave>",go)
 natur_con = Button(root,text = "自然常数e",width =18,command =natur_const)
 natur_con.grid(row = 7,column =8)
 natur_con.bind("<Enter>",come)
 natur_con.bind("<Leave>",go)
 
 antisin = Button(root,text = "反三角正弦sin(-1)x",width =18,height =1,command =anti_sin)
 antisin.grid(row = 6,column =6)
 antisin.bind("<Enter>",come)
 antisin.bind("<Leave>",go)
 anticos = Button(root,text = "反三角余弦cos(-1)x",width =18,height =1,command =anti_cos)
 anticos.grid(row =6,column =7)
 anticos.bind("<Enter>",come)
 anticos.bind("<Leave>",go)
 antitan = Button(root,text = "反三角正切tan(-1)x",width =18,height =1,command = anti_tan)
 antitan.grid(row = 6,column =8)
 antitan.bind("<Enter>",come)
 antitan.bind("<Leave>",go)
 
###################
if __name__ == "__main__":
 ################################菜单设计
 standard_it =True
 sci_it = False
 static_it = False
 code_it = False
 memorylist = []
 m_plus = False
 m_minus = False
 angle_is = False
 radium_is = False
 x =0
 list_power = []
 list_log =[]
 xypower = False
 xylog = False
 text = Text(root,height =1,font = ("Times","20"),width =31,fg = "#%02x%02x%02x" % (46,150,67),bd =0)
 text.grid(row = 0,column =0,columnspan =6)
 text_alert = Text(root,height=1,width =31,fg = "red",font = ("Times","20"),bd = 0)
 text_alert.grid(row =1,column =0,columnspan =6)
 
 menubar = Menu(root)
 mode_menu = Menu(menubar,tearoff= 0)
 v_mode = IntVar()
 mode_menu.add_radiobutton(label = "标准型",variable = v_mode,value =0,command =standard)
 mode_menu.add_radiobutton(label = "科学型",variable = v_mode,value =1,command = sci)
 mode_menu.add_radiobutton(label = "程序员型",variable =v_mode,value =2)
 mode_menu.add_radiobutton(label = "统计型",variable = v_mode,value =3)
 
 mode_menu.insert_separator(7)
 v_his_math = IntVar()
 mode_menu.add_radiobutton(label = "历史记录",variable = v_his_math,value =0)
 mode_menu.add_radiobutton(label = "数字分组",variable = v_his_math,value =1)
 menubar.add_cascade(label = "查看",menu = mode_menu)
 
 mode_menu.insert_separator(11)
 v_transform = IntVar()
 mode_menu.add_radiobutton(label = "单位转换",variable =v_transform,value =1)
 
 edit = Menu(menubar)
 edit.add_command(label = "复制")
 edit.add_command(label = "黏贴")
 menubar.add_cascade(label = "编辑",menu = edit)
 
 helpm = Menu(menubar)
 helpm.add_command(label = "使用说明")
 helpm.add_command(label = "版本为1.0")
 menubar.add_cascade(label = "帮助",menu = helpm)
 root.config(menu = menubar)#有这句菜单栏才能正常工作
#########################################窗体设计
  
 standard()
  
 sci()
 root.mainloop()

更多计算器功能实现,请点击专题: 计算器功能汇总 进行学习

关于Android计算器功能的实现,查看专题:Android计算器 进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的常见命令注入威胁
Feb 18 Python
python输出指定月份日历的方法
Apr 23 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
Python实现注册、登录小程序功能
Sep 21 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
Pyqt5自适应布局实例
Dec 13 Python
重构Python代码的六个实例
Nov 25 Python
python 实现有道翻译功能
Feb 26 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 #Python
Python实现TCP/IP协议下的端口转发及重定向示例
Jun 14 #Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 #Python
浅谈python新手中常见的疑惑及解答
Jun 14 #Python
Python中死锁的形成示例及死锁情况的防止
Jun 14 #Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 #Python
Python使用dis模块把Python反编译为字节码的用法详解
Jun 14 #Python
You might like
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
再次研究下cache_lite
2007/02/14 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
javascript常用函数(1)
2015/11/04 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
python实现linux下使用xcopy的方法
2015/06/28 Python
python2.7的编码问题与解决方法
2016/10/04 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
Python 修改列表中的元素方法
2018/06/26 Python
Python实现Event回调机制的方法
2019/02/13 Python
python中while和for的区别总结
2019/06/28 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
老师自我鉴定范文
2013/12/25 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
经理聘任证明
2015/03/02 职场文书
2015年林业工作总结
2015/05/14 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技