3 """
4 from sprites import *
5
6 s = '第四课 数字变量与赋值'
7 screen =Screen()8 screen.bgcolor('blue')9 screen.titlebar(False)10 root = screen._root #窗口对象
11 root.wm_attributes('-alpha',0.7) #设置窗口为全透明(0到1.0)
12 screen.setup(800,700)13
14 ft = ('楷体',38,'bold')15 t = Sprite(visible=False,pos=(-500,0))16 t.color('magenta')17 clock =Clock()18 for x in range(110):19 t.clear()20 t.write(s,align='center',font=ft)21 t.wait()22 t.fd(5)23 clock.tick(60)24
25 m1 = Mouse() #鼠标左键
26 while notm1.down():screen.update()27
28 for x in range(50):29 t.clear()30 t.write(s,align='center',font=ft)31 t.wait()32 t.fd(10)33 clock.tick(60)34
35 #以下是显示学习的内容段
36 studycontent = """
37 主要学习内容38
39 1、变量的概念40
41 2、赋值与累加42
43 3、整型数据44
45 4、浮点型数据46
47 5、逻辑型数据48
49 6、type命令50
51 7、id命令52
53 8、del命令54
55 """
56 t.color('white')57 t.clear()58 t.sety(-340)59 ft = ('楷体',24,'bold')60 s =studycontent61 while notm1.down():screen.update()62 #下面的代码显示主菜单
63 for x in range(110):64 t.clear()65 t.write(s,align='center',font=ft)66 t.wait()67 t.bk(5)68 clock.tick(60)69
70 screen.listen()71
72 defslow_write(t,string):73 """
74 t:角色,string:要显示的字75 本函数慢慢的显示字。76 """
77 string = string.split('\n') #换成列表
78 oldxy = t.position() #记录老的坐标
79 t.goto(-340,310) #到新的坐标
80 for line in string: #每一行字
81 for char in line: #每一个字符
82 t.write(char,align='center',font=ft)83 t.wait(0.2)84 cd = len(bytes(char,'gb2312'))85 if cd == 1:86 t.addx(20)87 else:88 t.addx(30)89 t.setx(-336)90 t.addy(-50)91 t.goto(oldxy)92
93 s1 = """
94 1、变量的概念:95 变量是存储在内存中的一个对象,96 这个对象有名字,有地址,有具体的值。97 Python通过变量的名字就能找到这个值。98 下面的代码可以定义一个变量,这个变量99 的值是一个整数。100 x=10,变量可以有多个名字,如y=x,就是101 给x变量又取了一个名字。这两个变量名都102 指向同一个数值。103 (单击返回主菜单)104 """
105 defpress1():106 t.clear()107 slow_write(t,s1)108 while notm1.down():screen.update()109 t.clear()110 t.write(s,align='center',font=ft)111 screen.onkeypress(press1,'1')112
113
114 s2 = """
115 2、赋值与累加:116 在Python中的等于号叫赋值号。117 所谓赋值就是把赋值号右边的118 计算结果赋值给左边的变量。119 如,y=100,就是把100赋值给y。120 而,z=y+200,会先把y+200的结果算出来,121 再赋值给z。122 那么,y=y+100,就会把y+100的值计算出来,123 再赋值给y,所以注意这里和数学中有区别。124 也就是说赋值号并不是判断两边的值相等的意思。125 像 y=y+100这样的式子叫累加,也可以写做126 y+=100127 (单击返回主菜单)128 """
129 defpress2():130 t.clear()131 slow_write(t,s2)132 while notm1.down():screen.update()133 t.clear()134 t.write(s,align='center',font=ft)135 screen.onkeypress(press2,'2')136
137
138 s3 = """
139 3、整型数据:140 刚才我们已经使用了整数。在Python中它们叫做141 整型数据。如32,65536。我们可以把一个整型142 数据赋值给一个变量,如x=32,那么通过x就能143 访问到32这个数据。x就是一个整型变量,144 或者说是整数变量。整数的英文名叫integer,145 简写为int。146 (单击返回主菜单)147 """
148 defpress3():149 t.clear()150 slow_write(t,s3)151 while notm1.down():screen.update()152 t.clear()153 t.write(s,align='center',font=ft)154 screen.onkeypress(press3,'3')155
156
157 s4 = """
158 4、浮点型数据:159 在Python中用浮点型数据表示小数。如3.14160 ,10.0或者0.01都是浮点型数据。我们可以定义161 一个变量的值为一个小数,如pai=3.14,162 那么pai就是一个小数变量。浮点型写做float。163 它在英文中的本意是飘浮的意思。为什么取名164 为“飘浮”数据呢?这是由于在计算机中不能165 精确地表示小数,像是飘浮不定的样子,所以166 就取了这么个名字。167 (单击返回主菜单)168 """
169 defpress4():170 t.clear()171 slow_write(t,s4)172 while notm1.down():screen.update()173 t.clear()174 t.write(s,align='center',font=ft)175 screen.onkeypress(press4,'4')176
177
178 s5 = """
179 5、逻辑型数据:180 在Python中要表示真或者假,成立或者不成立,181 用的是逻辑数据。逻辑数据只有两个值,一个182 是True,代表真、是、成立的意思。另一个是183 False,代表假,不是,否,不成立的意思。184 当然,我们也可以把逻辑数据赋值给一个变量,185 如 x=True,y=False。186 逻辑数据之间可以进行加、减、乘、除等运算。187 把True乘以3的结果是3,False乘以3的结果是0。188 大家可以在IDLE中测试一下,会得出一个结论,189 那就是True实际上就是1,而False实际上就是0。190 逻辑数据也叫布尔数据,英文为boolean,简写191 为bool。int、float和bool型变量统称为数字变量。192 英文名为numeric。(单击返回主菜单)193 """
194 defpress5():195 t.clear()196 slow_write(t,s5)197 while notm1.down():screen.update()198 t.clear()199 t.write(s,align='center',font=ft)200 screen.onkeypress(press5,'5')201
202 s6 = """
203 6、type命令:204 在Python中用type命令显示数据或者变量的类型。205 如type(256),会返回,class是类206 型的意思,int是整数的意思。207 也可以把一个整数赋值给一个变量,如x=32,208 在IDLE中输入type(x)也会返回。209 如果输入type(3.14),则返回。210 表示3.14这个数是一个浮点型数据。211 如果输入type(True),返回。212 表示True是一个布尔型,也就是逻辑型数据。213 (单击返回主菜单)214 """
215 defpress6():216 t.clear()217 slow_write(t,s6)218 while notm1.down():screen.update()219 t.clear()220 t.write(s,align='center',font=ft)221 screen.onkeypress(press6,'6')222
223 s7 = """
224 7、id命令:225 在Python中,一个变量就是一个对象。一个226 具体的对象是有名称,有地址,有具体的值。227 那么这个地址可以通过id命令得到。假设有名字为228 x变量,它的值为128,那么id(x)就能得到这个229 变量的地址。在Python中也称为这个变量的编号230 。它是一串数字。这就像每个变量都有一个门牌231 号码一样。通过门牌号码,Python就能访问到变232 量的值。233 (单击返回主菜单)234 """
235 defpress7():236 t.clear()237 slow_write(t,s7)238 while notm1.down():screen.update()239 t.clear()240 t.write(s,align='center',font=ft)241 screen.onkeypress(press7,'7')242
243
244 s8 = """
245 8、del命令。246 如果要删除一个变量怎么办呢?247 在Python中没有直接提供删除变量的机制。248 但是提供了删除变量名字的命令。249 这个命令叫del。有时候,我们可以通过删除250 变量的名字间接的删除变量,但是如果变量251 有多个名字,那么这个变量还是没有被删除。252 本质上,我们是不能删除一个变量的。253 如果一个变量失去了所有的名字,Python会254 自动删除这个变量。255 (单击返回主菜单)256 """
257 defpress8():258 t.clear()259 slow_write(t,s8)260 while notm1.down():screen.update()261 t.clear()262 t.write(s,align='center',font=ft)263 screen.onkeypress(press8,'8')264
265 byebye = """
266 下次再见!267 """
268 defpressq():269 t.clear()270 t.color('cyan')271 t.home()272 t.write(byebye,align='center',font=('宋体',38,'bold'))273 while notm1.down():screen.update()274 screen.bye()275 screen.onkeypress(pressq,'q')276
277
278 screen.mainloop()