python做出来的作品,python作品创意简单

大家好,小编来为大家解答以下问题,python做出来的作品,python作品创意简单,今天让我们一起来看看吧!

Python语言学习-----简易计算器的制作

我是一名普通的大二在校学生,在大二第一学期开设的课程里接触到Python语言与PyQt。下面向大家展示的是我的python作品–简易计算机火车头采集器伪原创插件
作品可能有不完善的地方和问题,希望大家能多多给我建议。
应用程序:Python,PyQt,VScode
一·作品展示
在这里插入图片描述
本项目所设计的计算器的Qt界面大体如下图
在这里插入图片描述
在此计算器的显示部分,为了美观我使用了一个多行文本框(Text Edit),并将两个标签(Label)覆盖其上,用两行标签来显示计算器计算内容。
二.代码部分
(1)模块,在代码部分我加入了math模块
在这里插入图片描述
(2)数字输入
以数字1为例,代码如下

#如果当前a的值为0,则将0换为1
#如果a为空,则退出函数
(3)基本运算
思路:上一级运算交由下一级运算符计算,下一级运算由更下一级运算
例如:1+2-3=0。按照正常的思维逻辑,我们应先计算1+2,得到结果3,再用所得结果减掉最后的3,最后结果为0。而此次项目的运算思维略有不同,当+号触发时,计算器并不会进行计算,只是将加数1保存下来,等到-号触发时,计算器才会计算出1+2=3,以此类推。
具体程序(以加法为例)如下:
在这里插入图片描述
函数中定义全局变量A,使用A获取计算每一步的出的结果。然后后一位的运算符激活时,获取A的值,进行下一步计算
#[-1]字符串取到倒数第一个元素
#“-1”倒数第一个元素
#float()将整数和字符串换成浮点数(双精度,64位)
在这里插入图片描述
在这里插入图片描述
以上是进行最终结果的计算
(4)扩展运算
此计算器除了加减乘除基础运算以外,还能够进行扩展运算比如:三角函数、反三角函数、反比例函数、对数函数。
而这一部分的我们可以调用math库中的函数进行计算。
在这里插入图片描述
因为不明确知道根号符号后面有多少字符串,所以以“b=a+√”的形式表示;
在这里插入图片描述
#log(d,b)为以b为底d的对数
不足:在计算关于根号(root)的代码时,labnumber1必须是要有字符的,如果没有字符则报错。
(5)清空与退格
在此计算器中共有两种删除模式:退格(backspace)和清空(clear)。退格的删除方式可以将labNumber1框里的内容从右往左依次删除,清空的方式可以将labNumber1与labNumber2中所有的内容删除。
两种删除模式代码分别如下:
在这里插入图片描述
三.代码展示

def One(self):
        a=self.labNumber1.text()
        if a=='0':
            b='1'
        else:    
            b = self.labNumber1.text() + '1'
        self.labNumber1.setText(str(b))
    def Two(self):
        a=self.labNumber1.text()
        if a=='0':
            b='2'
        else:    
            b = self.labNumber1.text() + '2'
        self.labNumber1.setText(str(b))
    def Three(self):
        a=self.labNumber1.text()
        if a=='0':
            b='3'
        else:    
            b = self.labNumber1.text() + '3'
        self.labNumber1.setText(str(b))
    def Four(self):
        a=self.labNumber1.text()
        if a=='0':
            b='4'
        else:    
            b = self.labNumber1.text() + '4'
        self.labNumber1.setText(str(b))
    def Five(self):
        a=self.labNumber1.text()
        if a=='0':
            b='5'
        else:    
            b = self.labNumber1.text() + '5'
        self.labNumber1.setText(str(b))
    def Six(self):
        a=self.labNumber1.text()
        if a=='0':
            b='6'
        else:    
            b = self.labNumber1.text() + '6'
        self.labNumber1.setText(str(b))
    def Seven(self):
        a=self.labNumber1.text()
        if a=='0':
            b='7'
        else:    
            b = self.labNumber1.text() + '7'
        self.labNumber1.setText(str(b))
    def Eight(self):
        a=self.labNumber1.text()
        if a=='0':
            b='8'
        else:    
            b = self.labNumber1.text() + '8'
        self.labNumber1.setText(str(b))
    def Nine(self):
        a=self.labNumber1.text()
        if a=='0':
            b='9'
        else:    
            b = self.labNumber1.text() + '9'
        self.labNumber1.setText(str(b))
    def Zero(self):
        a=self.labNumber1.text()
        if a=='0':
            b='9'
        else:    
            b = self.labNumber1.text() + '0'
        self.labNumber1.setText(str(b))
    def Point(self):
        a=self.labNumber1.text()
        if a=='':
            return
        a = self.labNumber1.text() + '.'
        self.labNumber1.setText(str(a))
    def Add(self):
        a =self.labNumber1.text()
        b =self.labNumber2.text()
        if a=='':
            return
        d=float(a)
        c = b + a + '+'
        self.labNumber2.setText(c)
        self.labNumber1.setText("")
        global A
        if b=='':
            A=d
            return
        if b[-1]=="+":
            A=float(A+d)
    
    def Subtract(self):
        a =self.labNumber1.text()
        b =self.labNumber2.text()
        if a=='':
            return
        d=float(a)
        c = b + a + '-'
        self.labNumber2.setText(c)
        self.labNumber1.setText("")
        global A
        if b=='':
            A=d
            return
        if b[-1]=="-":
            A=float(A-d)

    def Multiply(self):
        a =self.labNumber1.text()
        b =self.labNumber2.text() 
        if a=='':
            return
        d=float(a) 
        c = b + a + '×'
        self.labNumber2.setText(c)
        self.labNumber1.setText("")
        global A
        if b=='':
            A=d
            return
        if b[-1]=="×":
            A=float(A*d)

    def Divide(self):
        a =self.labNumber1.text()
        b =self.labNumber2.text()
        if a=='':
            return
        d=float(a)
        c = b + a + '÷'
        self.labNumber2.setText(c)
        self.labNumber1.setText("")
        global A
        if b=='':
            A=d
            return
        if b[-1]=="÷":
            if d==0:
                return
            A=float(A/d)
            
    def Sin(self):
        self.labNumber2.setText("sin")
    def Cos(self):
        self.labNumber2.setText("cos")
    def Tan(self):
        self.labNumber2.setText("tan") 
    def Root(self):
        a =self.labNumber1.text()
        c =self.labNumber2.text()
        if '+' in c or '-' in c or '×' in c or '÷' in c:
            return
        if a=='':
            return
        b = a + "√"
        self.labNumber2.setText(b)
        self.labNumber1.setText("")
    def Special(self):
        a=float(self.labNumber1.text())
        c =self.labNumber2.text()
        if '+' in c or '-' in c or '×' in c or '÷' in c:
            return
        b=1/a
        self.labNumber1.setText(str(b))
    def Involution(self):
        a =self.labNumber1.text()
        c =self.labNumber2.text()
        if '+' in c or '-' in c or '×' in c or '÷' in c:
            return
        if a=='':
            return
        b = a + "^"
        self.labNumber2.setText(b)
        self.labNumber1.setText("")
    def Log(self):
        a =self.labNumber1.text()
        c =self.labNumber2.text()
        if '+' in c or '-' in c or '×' in c or '÷' in c:
            return
        if a=='':
            return
        b = a + "log"
        self.labNumber2.setText(b)
        self.labNumber1.setText("")
    def Backspace(self):
        a=self.labNumber1.text()
        if a=='':
            return
        if a!='':
            u = a[0:-1]
            self.labNumber1.setText(str(u))
    def Delete(self):
        self.labNumber1.setText('')
        self.labNumber2.setText('')
    def Equality(self):
        a=self.labNumber2.text()
        o=self.labNumber1.text()
        if a=='' and o=='':
            return
        if a=='' and o!="":
            c=float(o)
            return
        b=float(self.labNumber1.text())
        if o=='':
            b=0
        else:
            b=float(self.labNumber1.text())
        if a[-1]=='+' or a[-1] == '-' or a[-1] == '×' or a[-1] == '÷' :
            c=float(A)
        if a[-1]=="+":
            c=float(A+b)
        if a[-1]=="-":
            c=float(A-b)
        if a[-1]=="×":
            c=float(A*b)
        if a[-1]=="÷":
            if b==0:
                return
            c=float(A/b)
        if a[-1] == '√':
             c = math.sqrt(int(a[0:-1]))   
        if a[-1] == '^':
            c = float(a[0:-1]) ** b   
        if a[-1] == 'g':
            d=int(a[0:-3])
            c = math.log(d,b)        
        if a=="sin":
            c=math.sin(b)
        if a=="cos":
            c=math.cos(b)
        if a=="tan":
            c=math.tan(b)    
        if c % 1 == 0 :
            d=int(c)
            self.labNumber1.setText(str(d))
        else:
            self.labNumber1.setText(str(c))
        self.labNumber2.setText('')

以上就是我的结课作品,若果有需要完善和改正的地方,欢迎各位留言指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python创意编程作品可以是一种通过编写Python代码来展现创意和艺术的方式。它与传统的编程任务略有不同,更注重于创造与想象力有关的作品。 在Python创意编程作品中,人们可以利用Python的强大功能来创造各种富有创意作品,比如绘画、音乐、动画和游戏等。Python提供了许多库和工具,可供创作者使用,使得创作过程更加简单和有趣。 例如,使用Turtle库可以绘制出美丽的图形和图案。可以编写代码控制乌龟移动和转向,通过循环和条件语句创造出各种复杂的图形。这些可以是静态的图形,也可以是动态效果,如旋转、移动和颜色变化。 此外,Python音乐库也可以用来制作音乐作品。通过编写音符序列和控制音频参数的代码,可以创造出独特的音乐片段,甚至可以编排整个乐曲。人们可以调整音高、节奏和音色,以及添加特效,创作出符合自己想法和风格的音乐。 同样地,使用Python的动画库,如Pygame或Processing,可以创造出令人惊艳的动画作品。通过编写代码控制图像的位置、大小、旋转和动画效果等,可以创作出各种丰富多样的动画效果,并通过交互性的设计,使观众与作品进行互动。 最后,Python创意编程作品还可以是游戏的开发。使用Pygame等游戏开发库,可以编写逻辑代码、设计游戏界面和制作游戏角色等。通过加入丰富的关卡设计、特殊效果和音效,可以创造出令人沉浸其中的游戏作品。 总之,Python创意编程作品提供了一个创作和展现想象力的平台。通过编写Python代码,人们可以创造出美妙的图形、音乐、动画和游戏等作品,展示出个人的艺术和创意能力。同时,创意编程也可以提高编程和计算思维能力,促进学习和创造力的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值