当前位置:   article > 正文

Python创意编程趣味课堂电子版,Python创意编程比赛_青少年python创意编程趣味课堂pdf

青少年python创意编程趣味课堂pdf

大家好,小编为大家解答Python创意编程趣味课堂电子版的问题。很多人还不知道Python创意编程比赛,现在让我们一起来看看吧!

Source code download: 本文相关源码

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

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

我是一名普通的大二在校学生,在大二第一学期开设的课程里接触到Python语言与PyQt。下面向大家展示的是我的python作品–简易计算机火车头采集器伪原创插件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中所有的内容删除。
两种删除模式代码分别如下:
在这里插入图片描述
三.代码展示

  1. def One(self):
  2. a=self.labNumber1.text()
  3. if a=='0':
  4. b='1'
  5. else:
  6. b = self.labNumber1.text() + '1'
  7. self.labNumber1.setText(str(b))
  8. def Two(self):
  9. a=self.labNumber1.text()
  10. if a=='0':
  11. b='2'
  12. else:
  13. b = self.labNumber1.text() + '2'
  14. self.labNumber1.setText(str(b))
  15. def Three(self):
  16. a=self.labNumber1.text()
  17. if a=='0':
  18. b='3'
  19. else:
  20. b = self.labNumber1.text() + '3'
  21. self.labNumber1.setText(str(b))
  22. def Four(self):
  23. a=self.labNumber1.text()
  24. if a=='0':
  25. b='4'
  26. else:
  27. b = self.labNumber1.text() + '4'
  28. self.labNumber1.setText(str(b))
  29. def Five(self):
  30. a=self.labNumber1.text()
  31. if a=='0':
  32. b='5'
  33. else:
  34. b = self.labNumber1.text() + '5'
  35. self.labNumber1.setText(str(b))
  36. def Six(self):
  37. a=self.labNumber1.text()
  38. if a=='0':
  39. b='6'
  40. else:
  41. b = self.labNumber1.text() + '6'
  42. self.labNumber1.setText(str(b))
  43. def Seven(self):
  44. a=self.labNumber1.text()
  45. if a=='0':
  46. b='7'
  47. else:
  48. b = self.labNumber1.text() + '7'
  49. self.labNumber1.setText(str(b))
  50. def Eight(self):
  51. a=self.labNumber1.text()
  52. if a=='0':
  53. b='8'
  54. else:
  55. b = self.labNumber1.text() + '8'
  56. self.labNumber1.setText(str(b))
  57. def Nine(self):
  58. a=self.labNumber1.text()
  59. if a=='0':
  60. b='9'
  61. else:
  62. b = self.labNumber1.text() + '9'
  63. self.labNumber1.setText(str(b))
  64. def Zero(self):
  65. a=self.labNumber1.text()
  66. if a=='0':
  67. b='9'
  68. else:
  69. b = self.labNumber1.text() + '0'
  70. self.labNumber1.setText(str(b))
  71. def Point(self):
  72. a=self.labNumber1.text()
  73. if a=='':
  74. return
  75. a = self.labNumber1.text() + '.'
  76. self.labNumber1.setText(str(a))
  77. def Add(self):
  78. a =self.labNumber1.text()
  79. b =self.labNumber2.text()
  80. if a=='':
  81. return
  82. d=float(a)
  83. c = b + a + '+'
  84. self.labNumber2.setText(c)
  85. self.labNumber1.setText("")
  86. global A
  87. if b=='':
  88. A=d
  89. return
  90. if b[-1]=="+":
  91. A=float(A+d)
  92. def Subtract(self):
  93. a =self.labNumber1.text()
  94. b =self.labNumber2.text()
  95. if a=='':
  96. return
  97. d=float(a)
  98. c = b + a + '-'
  99. self.labNumber2.setText(c)
  100. self.labNumber1.setText("")
  101. global A
  102. if b=='':
  103. A=d
  104. return
  105. if b[-1]=="-":
  106. A=float(A-d)
  107. def Multiply(self):
  108. a =self.labNumber1.text()
  109. b =self.labNumber2.text()
  110. if a=='':
  111. return
  112. d=float(a)
  113. c = b + a + '×'
  114. self.labNumber2.setText(c)
  115. self.labNumber1.setText("")
  116. global A
  117. if b=='':
  118. A=d
  119. return
  120. if b[-1]=="×":
  121. A=float(A*d)
  122. def Divide(self):
  123. a =self.labNumber1.text()
  124. b =self.labNumber2.text()
  125. if a=='':
  126. return
  127. d=float(a)
  128. c = b + a + '÷'
  129. self.labNumber2.setText(c)
  130. self.labNumber1.setText("")
  131. global A
  132. if b=='':
  133. A=d
  134. return
  135. if b[-1]=="÷":
  136. if d==0:
  137. return
  138. A=float(A/d)
  139. def Sin(self):
  140. self.labNumber2.setText("sin")
  141. def Cos(self):
  142. self.labNumber2.setText("cos")
  143. def Tan(self):
  144. self.labNumber2.setText("tan")
  145. def Root(self):
  146. a =self.labNumber1.text()
  147. c =self.labNumber2.text()
  148. if '+' in c or '-' in c or '×' in c or '÷' in c:
  149. return
  150. if a=='':
  151. return
  152. b = a + "√"
  153. self.labNumber2.setText(b)
  154. self.labNumber1.setText("")
  155. def Special(self):
  156. a=float(self.labNumber1.text())
  157. c =self.labNumber2.text()
  158. if '+' in c or '-' in c or '×' in c or '÷' in c:
  159. return
  160. b=1/a
  161. self.labNumber1.setText(str(b))
  162. def Involution(self):
  163. a =self.labNumber1.text()
  164. c =self.labNumber2.text()
  165. if '+' in c or '-' in c or '×' in c or '÷' in c:
  166. return
  167. if a=='':
  168. return
  169. b = a + "^"
  170. self.labNumber2.setText(b)
  171. self.labNumber1.setText("")
  172. def Log(self):
  173. a =self.labNumber1.text()
  174. c =self.labNumber2.text()
  175. if '+' in c or '-' in c or '×' in c or '÷' in c:
  176. return
  177. if a=='':
  178. return
  179. b = a + "log"
  180. self.labNumber2.setText(b)
  181. self.labNumber1.setText("")
  182. def Backspace(self):
  183. a=self.labNumber1.text()
  184. if a=='':
  185. return
  186. if a!='':
  187. u = a[0:-1]
  188. self.labNumber1.setText(str(u))
  189. def Delete(self):
  190. self.labNumber1.setText('')
  191. self.labNumber2.setText('')
  192. def Equality(self):
  193. a=self.labNumber2.text()
  194. o=self.labNumber1.text()
  195. if a=='' and o=='':
  196. return
  197. if a=='' and o!="":
  198. c=float(o)
  199. return
  200. b=float(self.labNumber1.text())
  201. if o=='':
  202. b=0
  203. else:
  204. b=float(self.labNumber1.text())
  205. if a[-1]=='+' or a[-1] == '-' or a[-1] == '×' or a[-1] == '÷' :
  206. c=float(A)
  207. if a[-1]=="+":
  208. c=float(A+b)
  209. if a[-1]=="-":
  210. c=float(A-b)
  211. if a[-1]=="×":
  212. c=float(A*b)
  213. if a[-1]=="÷":
  214. if b==0:
  215. return
  216. c=float(A/b)
  217. if a[-1] == '√':
  218. c = math.sqrt(int(a[0:-1]))
  219. if a[-1] == '^':
  220. c = float(a[0:-1]) ** b
  221. if a[-1] == 'g':
  222. d=int(a[0:-3])
  223. c = math.log(d,b)
  224. if a=="sin":
  225. c=math.sin(b)
  226. if a=="cos":
  227. c=math.cos(b)
  228. if a=="tan":
  229. c=math.tan(b)
  230. if c % 1 == 0 :
  231. d=int(c)
  232. self.labNumber1.setText(str(d))
  233. else:
  234. self.labNumber1.setText(str(c))
  235. self.labNumber2.setText('')

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

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览412030 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/446832
推荐阅读
相关标签
  

闽ICP备14008679号