A16_逻辑表达式与条件判断_Python教学视频

A16_逻辑表达式与条件判断_Python教学视频

李兴球Python_逻辑表达式与条件判断_Python教学视频大纲

这是风火轮编程Python初级教程的第16课,下面是用python制作的学习大纲。

李兴球Python_逻辑表达式与条件判断_Python教学视频大纲

李兴球Python_逻辑表达式与条件判断_Python教学视频大纲

用Python制作的幻灯片类型的作品,本课程主要学习逻辑操作符,逻辑表达式,条件判断语句的三种形式。
还会学习input从键盘输入命令,以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十六课 逻辑表达式与条件判断
"""
from sprites import *

s = '第十六课 逻辑表达式与条件判断'
screen = Screen()
screen.bgcolor('blue')
screen.titlebar(False)
root = screen._root              # 窗口对象
root.wm_attributes('-alpha',0.7) # 设置窗口为全透明(0到1.0)
screen.setup(800,800)
screen.tracer(0,0)

# 下面的代码让窗口可以拖动.
oldx = 0
oldy = 0
def startmove(event):
    global oldx,oldy
    oldx = event.x
    oldy = event.y
def stopmove(event):
    global oldx,oldy
    oldx = 0
    oldy = 0        
def movewindow(event):
    global oldx,oldy     
    dx = event.x - oldx
    dy = event.y - oldy
    root.move(dx,dy)
screen.cv.bind("", startmove)
screen.cv.bind("", stopmove)
screen.cv.bind("",movewindow)

# 下面的代码按方向箭头则窗口能上下左右移动
screen.onkeypress(lambda:root.move(10),'Right')
screen.onkeypress(lambda:root.move(-10),'Left')
screen.onkeypress(lambda:root.move(0,-10),'Up')
screen.onkeypress(lambda:root.move(0,10),'Down')
screen.listen()


# 单击鼠标左键开始
spacekey = Key('space')     # 空格键
m1 = Mouse()                # 鼠标左键
while not m1.down():screen.update()

ft_title = ('楷体',30,'bold')
ft_context = ('宋体',18,'normal')
t = Sprite(visible=False,pos=(-500,100))
t.color('magenta')
clock = Clock()
for x in range(100):
    t.clear()
    t.write(s,align='center',font=ft_title)
    t.wait()
    t.fd(5)
    clock.tick(60)

while not spacekey.down():screen.update()

# 简介
brief ="""
本课我们主要学习什么是逻辑表达式以及分支判断结构。

还要学习input,即输入命令的用法。编程是门实践性很强的课程。

初学者光学习理论不实践,是不行的。本课练习一定要去亲自完成。
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',18,'normal')
    简介 = Sprite(visible=False,pos=(0,-200))
    简介.color('white')
    简介.write(brief,align='center',font=ftx)    
    while  spacekey.down():screen.update()    
    while not spacekey.down():screen.update()    

for x in range(66):              # 标题向右消失
    t.clear()
    t.write(s,align='center',font=ft_title)    
    t.fd(10)
    if brief!='':        
        简介.clear()
        简介.write(brief,align='center',font=ftx)
        简介.bk(10)
    clock.tick(60)
简介.clear()     

#以下是显示学习的内容段
studycontent = """
主要学习内容

1、逻辑运算符与表达式

2、条件判断语句

3、input命令

4、实战小程序一

5、实战小程序二

6、练习与作业
"""
t.color('white')
t.clear()
t.sety(-260)              # 这里修改菜单的显示y坐标
ft = ('楷体',24,'bold')
s = studycontent
while not spacekey.down():screen.update()
#  下面的代码显示主菜单
for x in range(130):
    t.clear()
    t.write(s,align='center',font=ft)    
    t.bk(5)
    clock.tick(60)

def slow_write(t,string):
    """
       t:角色,string:要显示的字
       本函数慢慢的显示字。
    """
    string = string.split('\n') # 换成列表     
    oldxy = t.position()   # 记录老的坐标
    t.goto(-360,330)       # 定位到标题的坐标
    # 显示标题,注意string[0]是一个空行
    t.write(string[1],font=ft_title)
    t.addy(-50)
    for line in string[2:]:    # 每一行字
        for char in line:     # 每一个字符
            t.write(char,align='center',font=ft_context)
            t.wait(0.1)
            cd = len(bytes(char,'gb2312'))
            if cd == 1:
                t.addx(16)
            else:
                t.addx(24)
        t.setx(-360)
        t.addy(-30)
    t.goto(oldxy)
     
s1 = """
1、逻辑运算符与表达式

逻辑关系有三种,分别是and(与),or(或)和not(非),

三个英文单词and、or和not也就是逻辑运算符。

逻辑表达式,是用来表示数据之间逻辑关系的表达式,结果返回真或假。

“与”这种逻辑关系需要and两边表达式结果都为真,整个表达式才为真。

假设有a=50,b=20,c=30,那么a>b and b>c的结果是假,
这是由于b>c不成立。
  
“或”这种逻辑关系则只需要or两边的表达式有一个为真,
整个表达式就为真。
   
如a>b or b>c,由于a>b成立,所以整个表达式成立。

“非”则是对逻辑真或者假求反的运算。如 not a>b返回假。"""
def press1():
    t.clear()
    slow_write(t,s1)
    while not spacekey.down():screen.update()
    t.clear()
    t.write(s,align='center',font=ft)    
screen.onkeypress(press1,'1')


s2 = """
2、条件判断语句

if是条件判断语句的关键词,是如果的意思。程序有顺序结构和循环
控制结构。用条件判断语句能实现程序的分支控制结构。
if语句主要有三种形式,分别为:

 一: if 表达式  :           二: if 表达式:
         语句组                    语句组一
                               else: 
                                  语句组二

 三: if 表达式:
         语句组一

     elif 表达式:
         语句组二

     elif 表达式
         语句组三

需要注意的是,语句组是相对于for具有相同缩进的语句。
还有就是表达式后面的冒号当然也要是半角的,一定要写。
当语句组只有一条语句的时候,可以直接写在冒号后面。
"""
def press2():
    t.clear()
    slow_write(t,s2)
    while not spacekey.down():screen.update()
    t.clear()
    t.write(s,align='center',font=ft)    
screen.onkeypress(press2,'2')


s3 = """
3、input命令

input是输入命令。它运行后,就等待着我们通过键盘输入字符串,
并以接收到回车符号来结束输入。

input命令能带一个参数,这个参数表示提示语。如以下代码:

s = input('请输入一些数字:')

当它运行后,我们就要从键盘输入了,否则程序一直阻塞在这里。

输入的字符存储在s变量中。

请看下在的例子:

s = int(input('请输入一个数字:')) + 10
print(s)

在上面的代码中,把输入的字符转换成整数再和10相加。
如果输入的不是整数,那么会出错!

需要引起注意的是,我们所输入的数据都是字符串。
"""
def press3():
    t.clear()
    slow_write(t,s3)
    while not spacekey.down():screen.update()
    t.clear()
    t.write(s,align='center',font=ft)    
screen.onkeypress(press3,'3')



s4 = """
4、实战小程序一

从键盘输入一个较长的数字。如输入的是327681024,
那么把它每个数字都加起来求和。

即然是求和,那么就需要有一个变量来保存这个和。

所以在程序中我们要定义一个变量,假设叫s。

然后我们从键盘输入中得到一串字符,假设叫string。

接着,我们要遍历这个string,把它的每个字符都转换成数字,

再累加到s中,这样程序就编制好了。

"""
def press4():
    t.clear()
    slow_write(t,s4)
    while not spacekey.down():screen.update()
    t.clear()
    t.write(s,align='center',font=ft)    
screen.onkeypress(press4,'4')


s5 = """
5、实战小程序二

for循环里可以包括if语句,if语句里也能包括for循环。
现在编制一个程序。这个程序要求从键盘输入10个数字,
如果大于5则累加到s变量中。

这个程序也是求和的,所以需要定义变量来保存这个和,假设为s。

很明显,要重复10次,可以用for n in range(10)这样的语句。

接下来,在for循环中,我们调用input命令,得到从键盘输入的字符串。

为了判断它是不是大于5的数据,需要把它转换成int,再进行判断。

如果大于5,则累加到s变量中去,那么程序就编制好了。

"""
def press5():
    t.clear()
    slow_write(t,s5)
    while not spacekey.down():screen.update()
    t.clear()
    t.write(s,align='center',font=ft)    
screen.onkeypress(press5,'5')


s6 = """
6、练习与作业 

★ 编制程序让海龟重复一定的次数,随机画大小不同的正方形。

★ 编制程序产生一些数字,如果是偶数,则放到名为偶数的列表。
  如果是奇数则放到名为奇数的列表。

★ 编制程序通过键盘输入边数和边长,海龟根据边数和边长画正多边形。
  如果输入的边数小于3,则进行提示输入错误。

★ 考试结束了,小明得到了考试成绩,假设这个成绩叫score。
  由计算机随机产生0到100之间的数据来代表score的值。
  编制程序,实现以下功能:
  如果score大于等于90,则打印最优。如果大于等于80小于90显示优秀。
  如果大于等于70小于80则良好,如果大于等于60小于70,则显示及格。
  如果小于60则显示不及格。
     
"""
def press6():
    t.clear()
    slow_write(t,s6)
    while not spacekey.down():screen.update()
    t.clear()
    t.write(s,align='center',font=ft)    
screen.onkeypress(press6,'6')

 

 

byebye = """
下次再见!
"""
def pressq():
    t.clear()
    t.color('cyan')
    t.home()
    t.write(byebye,align='center',font=('宋体',38,'bold'))
    while not spacekey.down():screen.update()
    screen.bye()    
screen.onkeypress(pressq,'q')


screen.mainloop()

以下是付费内容,包括播放视频、python源代码及素材等等。

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。