搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

用Python开发实用程序 – 计算器

[复制链接]
查看: 65|回复: 0

1万

主题

1万

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
45261
发表于 2020-2-14 23:00 | 显示全部楼层 |阅读模式
用Python开发实用程序 – 计算器  热点新闻 v2-784001bda383daa741372f13753bb60c_1200x500

一段时候前,自己建造了一个库 “sui-math”。这实在是math的翻版。做完后,python既然可以轻易的完成任何的数学盘算,何不用python开辟一个小步伐专门用以盘算呢?
现在我们越来越依靠于盘算器,很多复杂的盘算都离不开它。我们利用过林林总总的盘算器,不管是电脑自带的,还是网也上的盘算器,却都没有自己脱手编写属于自己盘算器。本日就让我们走进盘算器的全国,用python来编写一个可以用的盘算器。
PS:很多人在进修Python的进程中,常常由于遇题目治理不了大要没好的教程从而致使自己放弃,为此我整理啦从根柢的python剧本到web开辟、爬虫、django、数据挖掘等【PDF等】需要的可以进Python全栈开辟交换.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的题目有老司机治理哦,一路相互监视配合进步
空话不多说,来看看
编写盘算器:
成果图:
用户可以经过鼠标或键盘来输入或删除数字或标记,按下等号即可盘算。
本教程借助python的 pygame 库来实现步伐。固然,看完本教程后,你还可以经过利用,pygame 来这建造小游戏。所以下面稍稍先容一下pygame及其安装。
安装:
pip install -U pygame
盘算器的关键逻辑:
实在逻辑就是不停地获得用户的利用,直到用户按下quit键(封闭)。这个不停获得利用,并不停的利用做出反应。这个进程叫做:事变处置惩罚器。
那怎样做出一个“事变处置惩罚器”呢?实在,就是一个大大的 “while True:” 把从启动到竣事,对用户所的利用做出的反应给包起来。这读起来有点绕口,等会会有具体的代码。
怎样盘算:
盘算对于有些其他的说话来说,盘算是个大大的题目。但python差别,它有个特此外内置函数,叫做eval。这个只要四个字母的函数,治理了盘算器的运算。
打个例如:现在已经可以获得用户所作出的利用,比如说按下标记,大如果数字。可是,怎样晓得用户会在按下等号前,按下几多个标记和数字呢?用户有大要按1个数字,也有大要按一百个数字,大如果一个标记,大如果好几个标记。
是以,无妨设定一个变量,一个空的字串符。
1. num = ""
每当用户按下一个数字大要一个标记,就在这个字串符里增加这个数字和标记。每次按下这个字串符后,就在屏幕里表现这个字串符。举个最简单的例子:
> 1. num += str(1)
> 2. word = t.render(num,True,(0,0,0),(225,225,225))
> 3. screen.blit(word, (XXX,XXX)) #XXX代表位置
> 4. pygame.display.update() #更新屏幕
当用户按下 ”1” 的时候,num就会增加字串符1。第2,3行实现了在屏幕上表现这个字串符。(会在后背具体表白)再将屏幕 “更新”。(这行是必须写的,否则屏幕不会表现)
当用户按下等号的,字串符就制止增加,起头盘算。Eval专门用来盘算字串符的。当盘算后,将盘算好的数字表现出来,末端将字串符清零。代码:

1. a = str(eval(num)) #盘算字串符
2. word = t.render(a,True,(0,0,0),(225,225,225))
3. screen.blit(word,p)
4. num = "" #字串符清空
5. pygame.display.update()
图片的鼠标处置惩罚:
一个简易的盘算器道理已经可以做出来了,可是要让用户直观的看到按钮,比如按键,就需要导入图片了
Pygame的图片可以利用.png的格式,可以自己画,也可以从网上搜。我就是自己用绘图板画的:
(未经答应,禁止盗取)
Pygame需要在步伐起头前先导入,代码以下:
1. XXX = pygame.image.load("XXX/XXX.png")
获得用户能否按下这个按键需要就是一个if语句,代码以下。
1. while True:
2. one = pygame.image.load("E://XXX/py1.png")
3. ···
4. if event.type==pygame.MOUSEBUTTONDOWN:
5. x, y = pygame.mouse.get_pos()

6. if XXX

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 全椒百姓网-全椒知名**,发布及时新鲜的全椒新闻资讯 生活信息 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表