python text insert()背景色_50行python代码写个计算器教程
案例展示
你能学到
input 用户输入
print输出
tkinter图形界面
python运算符号
基础知识准备
运算符号
数字运算,求和我们使用了加号 (+)运算符,除此外,还有 减号 (-), 乘号 (*), 除号 (/), 地板除 (//) 或 取余 (%)。
input输入
在python中咱们用input
来获取用输入的内容,
默认input只能获取文本,想要转换为数字需要用int
函数把字符串转换为字符
输出
我们在python3中用print
方法输出
tkinter图形界面
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
基础版本
案例展示
# 打印标题print("简易计算器")
# 通过用户输入获取运算的第一个数num1 = int(input("输入第一个数字: "))# 通过用户输入获取运算的第二个数# 默认是字符串需要用int把字符转换为数组num2 = int(input("输入第二个数字: "))
# 提示用户输入运算符print("输入运算:1、相加;2、相减;3、相乘;4、相除")
# 获取用户输入的运算符号choice = input("输入你的选择(1/2/3/4):")
# 如果是1if choice == '1': print(num1,"+",num2,"=", num1+num2)# 如果2elif 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("非法输入")
特别注意:
input提示输入的时候,用户需要在电脑键盘输入数字
我们通过用int方法把输入的数字转换为真正的数字(默认是像数字的字符)
根据choice的不同来选择输出不同的内容
在程序的世界 除用
/
,乘 用*
来表示
极简版本
# 获取用户输入的运算式如:5+5str = input("请输入你的运算式:")
# eval函数把字符串当代码执行# print 打印输出执行的结果print(eval(str))
注意:
input获取的内容为文本
eval 可以把任意的字符串当做python执行
如果需要程序一直都运行我们只需要把代码放入while循环就可
while True: str = input("请输入你的运算式:") print(eval(str))
注意:
True 的T 字母是大写
str与print函数前面有四个空格,或者一个Tab缩进
计算器(有界面)
# 导入tkineter库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()
注意
eval
把字符串当python代码执行len()
方法计算字符串长度inp.get()
获取到文本框的值inp.delete(start,end)
删除文本框的字符从start个删除到end个inp.insert(start,str)
插入文本框字符 从start插入str字符
- EOF -
推荐阅读 点击标题可跳转
★Python100行-贪吃蛇小游戏
用VScode愉快的写python代码
用python打包exe应用程序-PyInstaller
★教你用Python画了一棵圣诞树
20行python代码的入门级小游戏
10行python代码做出哪些酷炫的事情?
一行Python代码能做出哪些神器的事情
都来到这了,拜托拜托点个赞
python text insert()背景色_50行python代码写个计算器教程相关推荐
- python读取文件第n行-Python读取文件后n行的代码示例
这篇文章主要介绍了Python实现读取文件最后n行的方法,涉及Python针对文件的读取.遍历与运算相关操作技巧,需要的朋友可以参考下# -*- coding:utf8-*- import os im ...
- python自动化--如何用10行Python代码调一个闹钟 #电脑调闹钟
python自动化--如何用10行Python代码写一个闹钟 前言: 文末彩蛋--轻松一刻 更多关于Python的知识请加关注哟~~.若需联系博主请私信或者加博主联系方式: QQ:1542 ...
- 60行JavaScript代码写俄罗斯方块
教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏 早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要 ...
- python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...
- python满天星效果图_50行Python代码绘制满天星
今天用50行Python代码绘制了星空满天的动图.解释下为什么要做这样一件事,因为昨天是青年节,希望通过这样的方式去表达出每个年轻人都像是星空中的一颗星星,散发这自己的光芒照亮整个夜空.效果如下: u ...
- python50行小游戏_50行python代码实现的贪吃蛇小游戏
50行python代码实现的贪吃蛇小游戏 发布于 2014-09-01 21:26:24 | 1337 次阅读 | 评论: 1 | 来源: 网友投递 Python编程语言Python 是一种面向对象. ...
- python社区微信群_30行Python代码,打造一个简单的微信群聊助手,简单方便
大家都知道,最近代码君迷上了Python,一直在研究这门语言,还是那句话,人生苦短,我学Python,今天代码君要教大家一个黑科技,30行代码实现自己定制的微信群聊助手,这个助手有什么用呐,就是用来活 ...
- python输入三行数据_3行Python代码就能获取海量数据?
原标题:3行Python代码就能获取海量数据? 一谈起数据分析,首先想到的就是数据,没有数据,谈何分析. 毕竟好的菜肴,没有好的原材料,是很难做的- 所以本期小F就给大家分享一个获取数据的方法,只需三 ...
- python实现直播功能rtmo_30 行 Python 代码实现 Twitch 主播上线实时通知
在 freeCodeCamp 社区阅读原文. 大家好 :) 今天我将开始写作一个新的文章系列,特别面向 Python 初学者.简言之,我将会尝试更多新的工具,编写尽可能少的代码,来完成一个有趣的项目. ...
最新文章
- DES加密算法安全性评估
- php对接支付宝当面付对接,支付宝开放平台当面付对接网站
- MySQL配置文件my.cnf中文详解
- Vue+ElementUI实现文件的下载与上传
- Eclipse假死,一直LoadingDescriptFor,找到原因了
- MAC地址如何在windows与unix下查看?
- c语言中把各位上为奇数的数取出,下列给定程序中函数fun()的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在冲。 - 赏学吧...
- 请写一个java程序实现线程连接池功能_写一个java程序实现线程连接池的功能
- java学习小知识集锦1
- npm install 报错(npm ERR! errno: -4048, npm ERR! code: ‘EPERM‘, npm ERR! syscall: ‘unlink‘,)
- The Seven Tools of Causal Inference, with Reflections on Machine Learning
- e次方用计算机怎么算百分比,e指数计算器
- 使用神经网络中的卷积核生成语谱图
- mysql数据库中key 、primary key 、unique key 与index区别
- opencv cv2.THRESH_OTSU 二值化
- Mac 如何修改hosts文件
- 迅捷CAD编辑器是不错的PDF转换CAD软件
- 设计银行项目中的注册银行用户基本信息的类,包括账户卡号、姓名、身份证号、联系电话、家庭住址。
- linux删除相同用户,Linux 批量添加和删除用户
- 软件专业最顶尖的期刊杂志_52杂志中最糟糕的Photoshop错误
热门文章
- iOS 自定义UISlider
- python如何编程日期_python编程开发之日期操作实例分析
- 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
- 面试小能手速成,接口测试脚本如何编写?其实很简单
- linux复制文件中内容吗,Linux中实现对文件内容的复制。。。
- 复制oracle9i数据库,Oracle 10g 中Duplicate 复制数据库
- VS里面关于.cpp文件与.cu文件混合编译问题---不要在.cpp文件声明核函数(__device__()和global__())
- 剑指offer面试题[27]-二叉搜索树与双向链表
- 新闻页面_页面加载功能设计总结
- 转:matlab中print、fprintf、scanf、disp函数简要语法介绍