• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python双版本计算器详解
    POST TIME:2021-10-18 14:14

    有框计算器

    这个计算器我们用到了Python自带的Tkinter库

    # 导入tkinter库
    import tkinter
    

    我们要对窗口进行一些基本操作

    # 获取一个窗口
    window = tkinter.Tk()
    # 设置标题
    window.title('计算器')
    # 设置窗口大小
    window.geometry('200x200')
    

    接着用函数定义一个输入方法

    输入方法

    # 输入方法
    def add(n):
        # 获取到n1文本框的值
        n1 = inp.get()
        # 清空文本框
        inp.delete(0,len(n1))
        # 插入原来的加上新输入参数n
        inp.insert(0,n1+str(n))
    

    再用函数定义一个计算方法

    计算方法

    # 执行计算方法
    def calc():
        n1 = inp.get()  
        inp.delete(0,len(n1))
        # 把文本框的字符串用eval当代码执行一次,再插入到文本框
        inp.insert(0,str(eval(n1)))
    

    完成后还需要把文本框给清除,我们还是用函数

    清除文本框方法

    # 清空文本框
    def clear():
        n1 = inp.get()  
        inp.delete(0,len(n1))
    

    清空文本框后还会留下一个字符,我们需要删除最后一个字符,仍然用函数

    删除最后一个字符方法

    # 删除最后一个字符
    def back():
        n1 = inp.get()  
        inp.delete(len(n1)-1,len(n1))
    

    接着我们计算绝对值

    计算绝对值

    # 计算绝对值
    def ab():
        n1 = inp.get()  
        inp.delete(0,len(n1))
        inp.insert(0,str(eval(n1)*-1))
    

    设置一些文本框作为按钮的一部分

    设置文本框

    # 设置一个文本框
    inp = tkinter.Entry(window, width=25)
    # 在第0行,第0个,合并5列
    inp.grid(row=0,column=0,columnspan=5)
    

    再制作一些功能按钮

    功能按钮

    # 删除按钮(窗口,宽度,文本,执行命令).grid(1行,0列)
    tkinter.Button(window,width=5, text="C", command=clear).grid(row=1,column=0)
    tkinter.Button(window,width=5, text="←", command=back).grid(row=1,column=1)
    tkinter.Button(window,width=5, text="+/-", command=ab).grid(row=1,column=2)
    

    再制作运算符按钮

    运算符

    # 删除按钮(窗口,宽度,文本,背景色,文本颜色,执行命令并传入参数).grid(1行,4列)
    tkinter.Button(window,width=5, text="+",bg="#f70",fg="#fff",command=lambda:add("+")).grid(row=1,column=4)
    tkinter.Button(window,width=5, text="-", bg="#f70",fg="#fff",command=lambda:add("-")).grid(row=2,column=4)
    tkinter.Button(window,width=5, text="×",bg="#f70",fg="#fff",command=lambda:add("*")).grid(row=3,column=4)
    tkinter.Button(window,width=5, text="÷",bg="#f70",fg="#fff",command=lambda:add("/")).grid(row=4,column=4)
    tkinter.Button(window,width=12,text="0", command=lambda:add("0")).grid(row=5,column=0,columnspan=2)
    tkinter.Button(window,width=5,text="=", bg="#f70",fg="#fff",command=calc).grid(row=5,column=4)
    tkinter.Button(window,width=5, text=".", command=lambda:add(".")).grid(row=5,column=2)
    

    最后,我们发现还没有 123 456 789 9个按钮,我们就用for循环创建

    把代码加到

    # 设置一个文本框
    inp = tkinter.Entry(window, width=25)
    # 在第0行,第0个,合并5列
    inp.grid(row=0,column=0,columnspan=5)
    

    的下面

    9个按钮

    # 设置一个文本框
    inp = tkinter.Entry(window, width=25)
    # 在第0行,第0个,合并5列
    inp.grid(row=0,column=0,columnspan=5)
    # 用for循环 创建 123 456 789 9个按钮
    for i in range(0,3):
        for j in range(1,4):
          n = j+i*3
          btn=tkinter.Button(window, text=str(j+i*3),width=5, command=lambda n=n:add(n))
          btn.grid(row=i+2,column=j-1)
    

    一个有框的计算器就做好了,完整代码请看文章末尾

    命令行计算器

    这个计算器的代码很短,很快就能学会

    首先获取第一个数与第二个数

    获取数

    # 通过用户输入获取运算的第一个数
    num1 = int(input("输入第一个数字: "))
    # 通过用户输入获取运算的第二个数
    # 默认是字符串需要用int把字符转换为数组
    num2 = int(input("输入第二个数字: "))
    # 提示用户输入运算符
    

    我们还得添加while True来保证代码重复执行,否则计算器无法运算多次

    在前面加上while True

    while True:
    	# 通过用户输入获取运算的第一个数
    	num1 = int(input("输入第一个数字: "))
    	# 通过用户输入获取运算的第二个数
    	# 默认是字符串需要用int把字符转换为数组
    	num2 = int(input("输入第二个数字: "))
    	# 提示用户输入运算符
    

    这样就能重复了

    接着获取运算方法

    运算方法

    print("输入运算:1、相加;2、相减;3、相乘;4、相除")
    # 获取用户输入的运算符号
    choice = input("输入你的选择(1/2/3/4):")
    

    接着判断加法

    判断加法

    # 如果是1
    if choice == '1':
    	print(num1,"+",num2,"=", num1+num2)
    

    减法、乘法、除法和加法差不多,你们可以自己试试

    分割
    分割
    

    实在不会也可以看看我的

    剩下的

    # 如果2
    	elif choice == '2':
    		print(num1,"-",num2,"=", num1-num2) 
    	elif choice == '3':
    		print(num1,"×",num2,"=", num1*num2) 
    	elif choice == '4':
    		print(num1,"÷",num2,"=", num1/num2)
    

    再把他们桥接到加法的下面

    桥接

    while True:
    	# 通过用户输入获取运算的第一个数
    	num1 = int(input("输入第一个数字: "))
    	# 通过用户输入获取运算的第二个数
    	# 默认是字符串需要用int把字符转换为数组
    	num2 = int(input("输入第二个数字: "))
    	# 提示用户输入运算符
    	print("输入运算:1、相加;2、相减;3、相乘;4、相除")
    	# 获取用户输入的运算符号
    	choice = input("输入你的选择(1/2/3/4):")
    	# 如果是1
    	if choice == '1':
    		print(num1,"+",num2,"=", num1+num2)
    	# 如果2
    	elif choice == '2':
    		print(num1,"-",num2,"=", num1-num2) 
    	elif choice == '3':
    		print(num1,"×",num2,"=", num1*num2) 
    	elif choice == '4':
    		print(num1,"÷",num2,"=", num1/num2)
    

    算法部分就好了,我们还需要加一个else,否则输出将会出错

    else

    # 其他都是非法的
    else:
    	print("非法输入")
    

    最后的最后我们把else加到上面一部分的下面

    桥接2

    while True:
    	# 通过用户输入获取运算的第一个数
    	num1 = int(input("输入第一个数字: "))
    	# 通过用户输入获取运算的第二个数
    	# 默认是字符串需要用int把字符转换为数组
    	num2 = int(input("输入第二个数字: "))
    	# 提示用户输入运算符
    	print("输入运算:1、相加;2、相减;3、相乘;4、相除")
    	# 获取用户输入的运算符号
    	choice = input("输入你的选择(1/2/3/4):")
    	# 如果是1
    	if choice == '1':
    		print(num1,"+",num2,"=", num1+num2)
    	# 如果2
    	elif choice == '2':
    		print(num1,"-",num2,"=", num1-num2) 
    	elif choice == '3':
    		print(num1,"×",num2,"=", num1*num2) 
    	elif choice == '4':
    		print(num1,"÷",num2,"=", num1/num2)
    	# 其他都是非法的
    	else:
    		print("非法输入")
    

    两个计算器都介绍完毕了,接下来是完整代码

    完整代码

    有框计算器

    # 导入tkinter库
    import tkinter
    # 获取一个窗口
    window = tkinter.Tk()
    # 设置标题
    window.title('计算器')
    # 设置窗口大小
    window.geometry('200x200')
    # 输入方法
    def add(n):
        # 获取到n1文本框的值
        n1 = inp.get()
        # 清空文本框
        inp.delete(0,len(n1))
        # 插入原来的加上新输入参数n
        inp.insert(0,n1+str(n))
    # 执行计算方法
    def calc():
        n1 = inp.get()  
        inp.delete(0,len(n1))
        # 把文本框的字符串用eval当代码执行一次,再插入到文本框
        inp.insert(0,str(eval(n1)))
    # 清空文本框
    def clear():
        n1 = inp.get()  
        inp.delete(0,len(n1))
    # 删除最后一个字符
    def back():
        n1 = inp.get()  
        inp.delete(len(n1)-1,len(n1))
    # 计算绝对值
    def ab():
        n1 = inp.get()  
        inp.delete(0,len(n1))
        inp.insert(0,str(eval(n1)*-1))
    # 设置一个文本框
    inp = tkinter.Entry(window, width=25)
    # 在第0行,第0个,合并5列
    inp.grid(row=0,column=0,columnspan=5)
    # 用for循环 创建 123 456 789 9个按钮
    for i in range(0,3):
        for j in range(1,4):
          n = j+i*3
          btn=tkinter.Button(window, text=str(j+i*3),width=5, command=lambda n=n:add(n))
          btn.grid(row=i+2,column=j-1)
    # 删除按钮(窗口,宽度,文本,执行命令).grid(1行,0列)
    tkinter.Button(window,width=5, text="C", command=clear).grid(row=1,column=0)
    tkinter.Button(window,width=5, text="←", command=back).grid(row=1,column=1)
    tkinter.Button(window,width=5, text="+/-", command=ab).grid(row=1,column=2)
    # 删除按钮(窗口,宽度,文本,背景色,文本颜色,执行命令并传入参数).grid(1行,4列)
    tkinter.Button(window,width=5, text="+",bg="#f70",fg="#fff",command=lambda:add("+")).grid(row=1,column=4)
    tkinter.Button(window,width=5, text="-", bg="#f70",fg="#fff",command=lambda:add("-")).grid(row=2,column=4)
    tkinter.Button(window,width=5, text="×",bg="#f70",fg="#fff",command=lambda:add("*")).grid(row=3,column=4)
    tkinter.Button(window,width=5, text="÷",bg="#f70",fg="#fff",command=lambda:add("/")).grid(row=4,column=4)
    tkinter.Button(window,width=12,text="0", command=lambda:add("0")).grid(row=5,column=0,columnspan=2)
    tkinter.Button(window,width=5,text="=", bg="#f70",fg="#fff",command=calc).grid(row=5,column=4)
    tkinter.Button(window,width=5, text=".", command=lambda:add(".")).grid(row=5,column=2)
    # 进入消息循环
    window.mainloop()
    

    命令行计算器

    while True:
    	# 通过用户输入获取运算的第一个数
    	num1 = int(input("输入第一个数字: "))
    	# 通过用户输入获取运算的第二个数
    	# 默认是字符串需要用int把字符转换为数组
    	num2 = int(input("输入第二个数字: "))
    	# 提示用户输入运算符
    	print("输入运算:1、相加;2、相减;3、相乘;4、相除")
    	# 获取用户输入的运算符号
    	choice = input("输入你的选择(1/2/3/4):")
    	# 如果是1
    	if choice == '1':
    		print(num1,"+",num2,"=", num1+num2)
    	# 如果2
    	elif choice == '2':
    		print(num1,"-",num2,"=", num1-num2) 
    	elif choice == '3':
    		print(num1,"×",num2,"=", num1*num2) 
    	elif choice == '4':
    		print(num1,"÷",num2,"=", num1/num2)
    	# 其他都是非法的
    	else:
    		print("非法输入")
    

    到此这篇关于Python双版本计算器详解的文章就介绍到这了,希望对大家有帮助,更多相关python内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python tkinter 做个简单的计算器的方法
    • python之PyAutoGui教你做个自动脚本计算器的方法
    • 用python实现一个简单计算器(完整DEMO)
    • PyQt5实现简单的计算器
    • python代码编写计算器小程序
    上一篇:python基础之文件操作和异常处理
    下一篇:opencv模板匹配相同位置去除重复的框
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信