Python创意编程课004_我是追梦人

梦想是要有的,万一实现了呢?不努力,实现概率为0,努力了,通往成功的机率越来越大。
让青春吹动了你的长发,让它牵引你的梦吧。Python编程,你一定能学得非常好!
这是由于在这个旅途中,还有我的相伴。青春无悔,牢记我们的笑容!我们共同努力!

播放网址: https://v.youku.com/v_show/id_XNDU5MzM5MzIwOA==.html

本视频课程适合于小学高年级以上学生学习,无需编程基础。
课程内容包括:源码,视频,图片与音乐素材,简介等文件,
辅助老师:李兴球

需要请

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , | Python创意编程课004_我是追梦人已关闭评论

Python创意编程课003_偷功配音动画

中华功夫博大精深,渊源流长,这是中华人民共同创造的璀璨文化。
看,张三丰天没亮就起来练功了!Python要学好,也需要冬练三久,夏练三伏!
在《太极张三丰之偷功动画》中,你学到的不仅仅是Python编程知识!

播放网址: https://v.youku.com/v_show/id_XNDU5MzM4NzU0NA==.html

本视频课程适合于小学高年级以上学生学习,无需编程基础。
课程内容包括:源码,视频,素材,简介等文件,
辅助老师:李兴球

需要请

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , | Python创意编程课003_偷功配音动画已关闭评论

Python创意编程课002_原地踏步猫

一只可爱的小猫在优雅地散步,但是,它并没有前进呀。
我也不知道它在想些什么,大概它在想,你想不想学Python编程呀,
想学的话,可不要像我一样原地踏步哟。

播放网址: https://v.youku.com/v_show/id_XNDU5MzM3NTc5Ng==.html

 

本视频课程适合于小学高年级以上学生学习,无需编程基础。
课程内容包括:源码,视频,素材,简介等文件,
辅助老师:李兴球

需要请

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , | Python创意编程课002_原地踏步猫已关闭评论

Python创意编程课001_夜幕下的霓虹

黑夜,静悄悄地来临了。看,Python小虫子在忙什么呢?
它在忙着给黑夜点上彩色霓虹灯。这,就是《夜幕下的霓虹》。

播放网址: https://v.youku.com/v_show/id_XNDU5MzM2NTk0MA==.html

 

本视频课程适合于小学高年级以上学生学习,无需编程基础。
课程内容包括:源码,视频,素材,简介等文件,
辅助老师:李兴球

需要请

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , | Python创意编程课001_夜幕下的霓虹已关闭评论

A50_3D红框_教学视频

A50_3D红框_教学视频

这是风火轮编程Python初级教程的第50课。 下面是用Python制作的3D红框运行结果:

python创意绘画颜色亮度设定3d红框图

python创意绘画颜色亮度设定3d红框图

这是一节案例课。程序运行后,会画一个漂亮的图形,也不知道取什么名字。
就取名为3D红框。这个作品演示了如何对颜色进行亮度设置,还会学习饱和度设置命令。

以下是部分源代码预览:


"""
   3D红框,本程序需要最新版本coloradd模块运行,请在cmd管理员窗口下输入
   pip install coloradd进行安装
"""
from turtle import *
from coloradd import *

def draw_square(hg,length):
    for _ in range(4):
        hg.fd(length)
        hg.rt(90)
        
screen = Screen()              # 新建屏幕
screen.colormode(255)          # 这里一定要设置为255
screen.bgcolor('dodger blue')  # 设置背景颜色
#screen.tracer(0,0)            # 关闭自动刷新和绘画延时
screen.setup(480,360)          # 设置屏幕宽高
screen.title("3D红框")         # 设置窗口标题 

tom = Turtle(shape='turtle')   # 新建tom海龟

c = (255,0,0)
for w in range(40,100):
    pass                       # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , , | A50_3D红框_教学视频已关闭评论

A49_艺术彩花之三角花多媒体绘画_教学视频

A49_艺术彩花之三角花多媒体绘画_教学视频

这是风火轮编程Python初级教程的第49课。 下面是用Python制作的艺术彩花之三角花多媒体绘画运行结果:

李兴球Python艺术彩花之三角花多媒体绘画

李兴球Python艺术彩花之三角花多媒体绘画


这是一节案例课。程序运行后,会画一个漂亮的图形,也不知道取什么名字。
就取名为艺术彩花之三角花。这个作品有配乐,涉及到的知识有嵌套的for循环,颜色关于原点对称等。

以下是部分源代码预览:


"""
   艺术彩花之三角花,配上了音乐,那可效果不一般啦!
"""
import turtle
from winsound import *
from coloradd import colorset

PlaySound('mysterious.wav',SND_ASYNC|SND_LOOP)

screen = turtle.getscreen()  # 获取屏幕对象
screen.colormode(255)        # 设定颜色模式
screen.bgcolor('black')      # 设置背景颜色为黑
screen.delay(6)              # 设定绘画延时 
screen.setup(480,360)        # 设定屏幕宽高
screen.title('艺术彩花之三角花by李兴球www.lixingqiu.com')

turtle.speed(1)              # 把移动速度设为最慢
turtle.pensize(4)            # 画笔粗细
turtle.setheading(90)        # 初始方向为向上

pass                          # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , | A49_艺术彩花之三角花多媒体绘画_教学视频已关闭评论

A48_通电棒棒_教学视频

A48_通电棒棒_教学视频

这是风火轮编程Python初级教程的第48课。 下面是用Python制作的通电棒棒运行结果:

python画笔创意绘画通电棒棒

python画笔创意绘画通电棒棒

这是一节案例课。程序运行后,会画一个漂亮的图形,也不知道取什么名字。
就取名为通电棒棒。比较神奇的是,这幅图画完后,通电棒棒会移动。
它是怎么画的呢?为什么色彩会这么丰富?并且画完后还会移动?
涉及到的知识有颜色增加命令,颜色模式设定,move命令等。

以下是部分源代码预览:


"""
   通电棒棒
"""
import time                     # 导入时间模块
import turtle                   # 导入海龟模块
from coloradd import coloradd   # 从coloradd模块导入coloradd命令

screen = turtle.getscreen()     # 获取屏幕
screen.colormode(255)           # 设定颜色模式 
screen.bgcolor('black')         # 设定背景颜色  
screen.title('通电棒棒')        # 设定标题 

turtle.speed(0)                 # 设定海龟移动速度为最快
turtle.ht()                     # 隐藏海龟
c = (255,0,0)                   # 新建三元组,(可代表红色)


pass                          # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , | A48_通电棒棒_教学视频已关闭评论

A47_彩盘的进化_酷炫圆盘_教学视频

A47_彩盘的进化_酷炫圆盘_教学视频

这是风火轮编程Python初级教程的第47课。 下面是用Python制作的酷炫圆盘运行结果:

python彩盘的进化酷炫圆盘教学视频

python彩盘的进化酷炫圆盘教学视频


这是一节案例课。程序运行后,会画一个漂亮的圆盘,它是怎么画的呢?为什么色彩会这么丰富?
涉及到的知识颜色增加命令,颜色模式设定等。

以下是部分源代码预览:


"""
   酷炫圆盘,
"""

from turtle import *
from coloradd import *

t = Turtle()
t.pensize(4)
t.screen.colormode(255)
t.screen.delay(0)
t.screen.bgcolor("white")
t.screen.title("彩盘的进化")

color=(255,0,0)
for i in range(360):
    t.pencolor(color)
    pass

 
pass                          # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , | A47_彩盘的进化_酷炫圆盘_教学视频已关闭评论

A46_会移动的红太阳_教学视频

A46_会动的红太阳_教学视频

这是风火轮编程Python初级教程的第46课。 下面是用Python制作的会动的红太阳运行结果:

李兴球Python会移动的太阳

李兴球Python会移动的太阳


这是一节案例课。程序运行后,会画一个光芒万丈的太阳,然后太阳会向右边移动。
涉及到的知识画布的移动命令,项目列表,打圆点命令,设定画笔颜色,随机选择一种颜色等。

以下是部分源代码预览:


"""
   会动的红太阳.py
   本程序画一个红色的太阳,然后太阳移动起来了...
"""
from turtle import *          # 从海龟模块导入所有命令
from random import choice     # 从随机模块导入choice选择命令

colors = ["red","orange","yellow","green",
          "cyan","blue","purple","magenta"]

screen = Screen()             # 新建屏幕对象

t = Turtle()                  # 新建海龟对象
t.penup()                     # 抬笔 
t.bk(100)                     # 倒退100个单位
t.pencolor("red")             # 画笔颜色为红色
t.dot(100)                    # 打直径为100的圆点
t.pensize(4)                  # 画笔宽度为4

for i in range(10):
    ys = choice(colors)       # 随机选择一种颜色
    t.color(ys)               # 设定ys为海龟颜色
    t.fd(100)                 # 前进100个单位
    t.pendown()               # 落笔
    t.fd(100)                 # 前进,画线条
    t.penup()                 # 抬笔
    t.bk(200)                 # 退回原位
    t.right(36)               # 右转36度
 
pass                          # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , | A46_会移动的红太阳_教学视频已关闭评论

A45_双曲格子图_教学视频

A45_双曲格子图_教学视频

这是风火轮编程Python初级教程的第45课。 下面是用Python制作的双曲格子图运行结果:

李兴球Python双曲格子图

李兴球Python双曲格子图


这是一节案例课,画的图像有点像双曲线,而在中间又有些“透视”格子,所以把它这幅图叫双曲格子图。
本课涉及到的知识有for循环,设定海龟移动速度,隐藏海龟,坐标定位,落笔与抬笔与设定颜色等。

以下是部分源代码预览:


import turtle                    # 导入海龟模块

screen = turtle.getscreen()      # 获取屏幕对象
screen.bgcolor('dodger blue')    # 设置屏幕颜色

turtle.hideturtle()              # 隐藏海龟
turtle.color("yellow")           # 设定颜色  
turtle.speed(1)                  # 设定速度
 
pass                             # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , | A45_双曲格子图_教学视频已关闭评论

A44_方形彩螺_教学视频

这是风火轮编程Python初级教程的第44课。 下面是用Python制作的方形彩螺运行结果:

李兴球方形彩螺python创意绘画

李兴球方形彩螺python创意绘画

这是一节案例课。涉及到的知识有for循环,保存为ps矢量格式,设置绘画延时,颜色列表等。

以下是部分源代码预览:

"""
  方形彩螺.py
  本程序画一个图形,然后把它保存为ps矢量格式。
"""

from turtle import Turtle              # 从海龟模块导入海龟类
 
colors = ['red','cyan','green','blue' ]# 定义颜色表
amounts = len(colors)

t = Turtle(visible=False)              # 新建海龟对象
t.pensize(2)                           # 画笔尺寸
t.screen.bgcolor("black")              # 设定屏幕背景颜色
 
pass                              # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , | A44_方形彩螺_教学视频已关闭评论

A43_十方向黑箭头_教学视频

这是风火轮编程Python初级教程的第43课。 下面是用Python制作的十方向黑箭头运行结果:

李兴球Python十方向黑箭头

李兴球Python十方向黑箭头

这是一节案例课。涉及到的知识有当循环,设置形状大小,设定方向,图章命令,计数器,隐藏海龟,设置海龟移动速度等。

以下是部分源代码预览:

from turtle import Turtle

color_list = ['red','orange','yellow','green','cyan',
              'blue','purple','pink','gray','black']

t = Turtle()                      # 新建海龟对象
t.speed(1)                        # 设定海龟移动速度,1为最慢,0为最快 
t.shapesize(4,4)                  # 设定海龟宽高为原来的4倍
t.pensize(4)                      # 设定画笔粗细为4
c = 0                             # 定义变量,名为c ,值为0

pass                              # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , | A43_十方向黑箭头_教学视频已关闭评论

A42_红色的领结_教学视频

这是风火轮编程Python初级教程的第42课。 下面是用Python制作的红色的领结运行结果:

李兴球Python红色的领结

李兴球Python红色的领结

这是一节案例课。涉及到的知识有当循环,设置形状大小,设定方向,图章命令,计数器,撤销命令等。

以下是部分源代码预览:

"""
   红色的领结.py
   海龟的undobufferentries命令返回可撤销次数,
   本程序画了一个图形后,又撤销了画这个图形,让“时光可以倒流”
"""

from turtle import Turtle      # 从海龟模块导入Turtle
 
t = Turtle()                   # 新建海龟
t.speed(1)                     # 速度为1(最慢)
t.pensize(4)                   # 画笔粗细为4
t.color("red")                 # 画笔颜色和填充颜色为红色
t.left(90)                     # 左转90度
t.bk(200)                      # 倒退200个单位  
t.shapesize(4,4)               # 宽度和高度都为原来的4倍
c = 0                          # 定义c变量,这里起计数器的作用
while c < 10:                  # 当c小于10的时候
    t.setheading(90)           # 朝上的方向
    pass                       # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , | A42_红色的领结_教学视频已关闭评论

A41_Python四方向叠彩箭头_教学视频

这是风火轮编程Python初级教程的第41课。 下面是用Python制作的四方向叠彩箭头运行结果:

李兴球Python四方向叠彩箭头

李兴球Python四方向叠彩箭头


这是一节案例课。涉及到的知识有嵌套的for循环,图章,变化海龟大小,颜色表等。
当然,你可以很容易的改修八方向叠彩箭头图形。

以下是部分源代码预览:

"""四方向叠彩箭头.py"""

from turtle import *

color_list = ['red','orange','yellow','green','cyan',
              'blue','purple','pink','gray','black']

screen = Screen()                   # 新建屏幕 
 
t = Turtle()                        # 新建海龟,默认造型为classic
t.penup()                           # 抬笔

for x in range(4):                  # 在范围4内迭代x,(0,1,2,3)
    
    for c in range(10):             # 在范围10内迭代c,(0,1...9)

       pass                        # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , | A41_Python四方向叠彩箭头_教学视频已关闭评论

A40_Python犹豫的海龟_教学视频

这是风火轮编程Python初级教程的第40课。 下面是用Python制作的犹豫的海龟运行结果:

这是一节案例课,它是一个动画。在动画中,海龟时不时改变方向进行移动。它好像非常犹豫的样子。

以下是部分源代码预览:


"""犹豫的海龟.py"""

from random import randint,choice
from turtle import Turtle

colors = ['red','orange','yellow','green','cyan','blue',
          'purple','pink','brown','magenta','gray','black']

amounts = len(colors)                # 颜色数量 

t = Turtle(shape='turtle')           # 新建turtle造型的海龟对象
t.pensize(2)                         # 设定画笔粗细为2
t.screen.bgcolor("white")            # 设定屏幕背景颜色 
 
counter = 0                          # 新建名为counter的变量,初始值为0
while True:

   pass                              # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , | A40_Python犹豫的海龟_教学视频已关闭评论

A39_Python鱼儿水中游_教学视频

A39_Python鱼儿水中游_教学视频

这是风火轮编程Python初级教程的第39课。 下面是用Python制作的鱼儿水中游运行结果:

python鱼儿水中游运行结果

python鱼儿水中游运行结果


这是一节案例课,讲述一个用Python制作的鱼儿水中游这幅动画。
一条小鱼在水中游来游去,它时不时还会改变方向。

以下是部分源代码预览:

"""
鱼儿水中游.py,本程序演示一条鱼在水中“游”。
请再添加一条鱼,用fish2_left.gif和fish2_right.gif做为它的图案。
它和第一条鱼朝相反的方向移动。
"""
from turtle import * 
from random import randint

width,height = 800,542
fish1_images = ["fish1_right.gif","fish1_left.gif"] #  gif图列表

screen = Screen()                    # 新建屏幕 
screen.setup(width,height)           # 设定屏幕宽高  
screen.title("鱼儿水中游")           # 设定屏幕所在窗口标题
screen.bgpic("bg.png")               # 设定背景图片
screen.addshape("fish1_right.gif")   # 把gif图增加到造型列表
screen.addshape("fish1_left.gif")    # 如果gif图较多,要用循环语句

t = Turtle(shape='blank')            # 新建图案为blank(空白)的海龟
t.penup()
t.index = 0                          # 给t新建一个index变量(自定义属性)

pass                                 # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , , , | A39_Python鱼儿水中游_教学视频已关闭评论

A38_Python蓝色的莲花_教学视频

这是风火轮编程Python初级教程的第38课。 下面是用Python制作的蓝色的莲花运行结果:

李兴球Python蓝色的莲花视频教程

李兴球Python蓝色的莲花视频教程

这是一节案例课,讲述一个用Python制作蓝色的莲花这幅静态画。程序运行后,会瞬间画一幅图形。

以下是部分源代码预览:

"""
本作品画一个花样图形,用到了coloradd模块,它里面有colorset命令,能把整数转换成RGB值。
"""

from coloradd import *                       # 从coloradd模块导入所有命令
from turtle import *                         # 从turtle模块导入所有命令

screen = Screen()                            # 新建屏幕对象
screen.colormode(255)                        # 设定颜色模式为RGB255
screen.delay(0)                              # 屏幕延时为0
screen.title("蓝色的莲花一朵,作者:李兴球")   # 设定屏幕所在窗口的标题

t = Turtle()                                 # 新建海龟对象
t.speed(0)                                   # 海龟动作的速度为最快
t.setheading(180)                            # 海龟的初始方向为向左
t.pensize(2)                                 # 海龟画笔的大小为2
distance = 20                                # 定义distance变量

pass                                         # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , | A38_Python蓝色的莲花_教学视频已关闭评论

A37_Python天上彩虹图_教学视频

A37_Python天上彩虹图_教学视频

这是风火轮编程Python初级教程的第37课。 下面是用Python制作的天上彩虹图运行结果:

Python天上彩虹图运行效果

Python天上彩虹图运行效果

这是一节案例课,讲述一个用Python制作天上彩虹图这幅静态画,当然也可以修改为动画。
学习的内容coloradd模块中的colorset命令的用法。这个命令可以用来制作颜色渐变效果,
从而让所画的图形在视觉上更加漂亮。

以下是部分源代码预览:

"""天上彩虹图.py
   coloradd模块安装, pip install coloradd

"""

from coloradd import colorset   # 从coloradd模块导入colorset
from turtle import *            # 从海龟画图模块导入所有命令

screen = Screen()               # 新建屏幕对象
screen.setup(800,480)           # 设定屏幕宽高
screen.delay(0)                 # 屏幕延时为0毫秒
screen.colormode(255)           # 设定颜色模式为RGB255

t = Turtle(visible=False)       # 新建隐藏的海龟对象
t.penup()                       # 抬笔
t.pensize(50)                   # 画笔的笔迹宽度为50
t.bk(300)                       # 倒退1300个单位
t.setheading(60)                # 设定方向为60度
t.pendown()                     # 落笔

pass                            # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , | A37_Python天上彩虹图_教学视频已关闭评论

A36_Python滚动的字幕_教学视频

A36_Python滚动的字幕_教学视频

这是风火轮编程Python初级教程的第36课。 下面是用Python制作的滚动的字幕运行结果:

python滚动的字幕动画原理视频教程

python滚动的字幕动画原理视频教程

这是一节案例课,讲述一个用Python制作滚动的字幕这幅动画。
学习的内容是如何在海龟画图中移动海龟所写的文字。

以下是部分源代码预览:

"""
   本程序让汉字从最右边了出来,到左边结束。
   下面程序用的是不断擦除,不断重写的方法。
   也可以用画布的move命令实现。

"""

from time import sleep
from turtle import Screen,Turtle

screen = Screen()                   # 新建屏幕对象
screen.bgcolor("black")             # 设定屏幕为黑色
screen.setup(800,400)               # 设宽屏幕的宽度和高度
screen.delay(0)                     # 设定屏幕绘画延时为0
screen.title("滚动的字幕")          # 设定屏幕所在的窗口的标题

t = Turtle(visible=False)           # 新建不可见的海龟对象
t.penup()                           # 此海龟并不是用来画画,所以让它抬笔
t.color("cyan")                     # 设定海龟的颜色为青色
t.goto(400,0)                       #  最右边去
 
info = "风火轮编程恭贺大家新年快乐,年年有余。"

pass                                 # 这里的代码省略了哦
    

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , | A36_Python滚动的字幕_教学视频已关闭评论

A35_Python满城尽带黄金甲_教学视频

A35_Python满城尽带黄金甲_教学视频

这是风火轮编程Python初级教程的第35课。 下面是用Python制作的满城尽带黄金甲运行结果:

python海龟菊花造型铺满屏幕

python海龟菊花造型铺满屏幕

这是一节案例课,讲述一个用Python制作满城尽带黄金甲这幅图形。学习的内容包括海龟的造型列表,如何使用外部图像为海龟的造型等知识。

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , , | A35_Python满城尽带黄金甲_教学视频已关闭评论

A34_Python九九乘法表_教学视频

这是风火轮编程Python初级教程的第34课。 下面是用Python制作的九九乘法表运行结果:

李兴球Python九九乘法表视频教程

李兴球Python九九乘法表视频教程

这是一节案例课,讲述一个用Python制作九九乘法表,还讲了f字符串,即新的字符串格式化运算表达式。

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

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

发表在 python, 视频教程 | 标签为 , , | A34_Python九九乘法表_教学视频已关闭评论

A33_蓝色的扫把_Python教学视频

这是风火轮编程Python初级教程的第33课。 下面是用Python海龟图制作的蓝色的扫把程序的运行结果:

李兴球Python蓝色的扫把运行结果

李兴球Python蓝色的扫把运行结果

这是一节案例课,讲述一个用Python海龟画图制作的图形的代码。

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

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

发表在 python, turtle, 视频教程 | 标签为 , , | A33_蓝色的扫把_Python教学视频已关闭评论

旋转之田.py(python简单动画原理视频教程)

李兴球Python旋转之田简单动画原理

李兴球Python旋转之田简单动画原理


在Python的海龟画图中画一幅画儿,然后让它动起来,是比较有趣的,这是怎么做到的呢,请看以下源代码,还有视频解说哦。

"""
   旋转之田.py
   下面旋转的田字是画出来的,然后利用动画原理,
   让它旋转起来。
"""
import time
import turtle

def draw_grid(d):
    """画一个田字"""
    for _ in range(4):
        # 下面是画一个正方形
        for _ in range(4):
            turtle.fd(d)
            turtle.rt(90)
        turtle.right(90)
        
screen = turtle.getscreen()  # 获取屏幕对象
pass                         # 这里的代码省略了

turtle.ht()                  # 隐藏海龟对象
turtle.speed(0)              # 设定海龟移动速度为最快
turtle.color('blue')         # 设定颜色为蓝色
turtle.pensize(4)            # 设定画笔尺寸为4 

pass                         # 下面的代码省略了

需要完整源代码,视频解说,文字说明请

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

发表在 python, turtle, 视频教程 | 标签为 , , | 旋转之田.py(python简单动画原理视频教程)已关闭评论

A32_Python复习总结2海龟画图_Python教学视频

这是风火轮编程Python初级教程的第32课。

本课主要总结所学过的海龟模块相关命令。在Python中内置了海龟画图模块!

它是用来教授计算机编程入门的一个模块。海龟画图的名称来源于logo计算机语言。

logo计算机语言是一种较古老的计算机语言。它是通过指挥一只小海龟移动,

从而画出漂亮的图形这种方法,来教授编程入门的。Python内置的turtle模块就源于此。

1、使用海龟画图方法1,可以用import turtle方法,翻译成中文就是导入海龟模块。

用这种方法可以直接使用turtle做为名字来指挥一只海龟移动。

如turtle.fd(100),turtle.color(‘red’),turtle.getscreen()获取屏幕对象命令。

新建海龟用turtle.Turtle(),获取或者新建屏幕用turtle.Screen()命令。

也可以这样导入 import turtle as hg,后面的hg是自己取的名字。

2、使用海龟画图方法2,从海龟模块导入所有命令,from turtle import *

用这种方法首先要新建一只海龟,如tom = Turtle(shape=’turtle’),这样新建了一只形状为

turtle的海龟,如果用Turtle(shape=’turtle’,visible=False),那么这样新建了一只形状为

turtle但看不见的海龟。

3、新建屏幕后,假设名字为screen,那么它的bgcolor是设置背景颜色的命令,setup是设置宽高

的命令,title能设置屏幕所在窗口的标题,delay是设定绘画延时的命令。

4、forward,fd是前进命令,backward,back,bk是倒退命令。

5、setpositon,setpos,goto是设定海龟xy坐标的命令。setx只设定x坐标,sety只设定y坐标。

xcor命令返回x坐标,ycor命令返回y坐标。position或pos返回x,y坐标,值是一个元组。

6、海龟诞生时默认为向右,方向值为0度。right是向右转,left是向左旋转的命令。

setheading为设置方向命令,简写为seth。heading为获取方向命令。

7、常用颜色单词red ,orange,yellow,green,cyan,blue,purple,pink,magenta,brown,gold

常用画笔命令 pendown落笔,penup抬笔,pencolor画笔颜色,pensize画笔粗细。

fillcolor填充颜色。begin_fill开始填充,end_fill结束填充。

8、color命令,当只写一个参数时同时设定画笔和填充颜色,当写两个参数时

前面的参数设定的是画笔颜色,后面的参数设定的是填充颜色。

9、dot命令,指定直径打圆点,circle命令,指定半径画圆。clone命令能克隆海龟。

10、stamp命令能复制海龟当前的造型,这叫盖图章。clearstamp能根据图章编号清除图章。

clearstamps能清除很多图章。

11、write命可以有align和font参数,它们的意思是对齐与字体样式。font的值应该为三元组。

12、speed能设定海龟的移动速度。设为0的时候速度最快,1最慢,数字越大速度越快,最大数为10。

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

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

发表在 python, turtle, 视频教程 | 标签为 , | A32_Python复习总结2海龟画图_Python教学视频已关闭评论

A31_Python复习总结1_Python教学视频

这是风火轮编程Python初级教程的第31课。本课主要包括以下内容:

本课主要总结一下基本知识与基本语法与学到的模块与基本的一些命令。

1、python,在英文中是莽蛇的意思,有一种计算机语言也叫Python。

它是由荷兰人Guido van Rossum(吉多·范罗苏姆)设计的。

我们通过IDLE来学习Python计算机语言,IDLE是集成开发与学习环境的意思。

2、数据类型,数字型有三种,分别是int整型,float浮点型,bool布尔型,(numeric)

还有list列表,tuple元组,str字符串,这三种数据类型可以通过索引号可以访问它所包含的数据。

它们有一个统一的名称叫序列,英文为sequence。

转义字符有:\n表示换行符,\r表示回车符,\t为制表符。字符串和元组是不可变的。

3、变量的命名,变量的名字可以包括26个英文字母和数字及下划线。变量的第一个字符不能是数字。

变量有地址,有名字,有具体的值,变量的名字也叫标识符。type命令可以显示数据或变量的类型。

4、表达式,算术表达式,关系表达式(比较表达式),逻辑表达式。

5、程序的控制结构有顺序结构,分支结构,与循环结构。

条件判断语句if可实现分支结构, for循环和while当循环可实现对一些语句的重复执行。

break命令可中断循环,可以用循环控制来遍历序列。

6、本阶段其它主要命令,len,id,del ,input,print,range,max,min,sum,abs,round,divmod

7、主要模块:turtle模块,导入方法import turtle,或者from turtle import *

8、主要模块:random模块,导入方法import random,或者from random import *

主要学习了randint和choice命令。

9、时间模块,import time,时间模块里有time.sleep命令。

10、编程是通过一定的规则编写符合逻辑的指令,指挥机器解决某个问题的一个过程。

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

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

发表在 python, turtle, 视频教程 | 标签为 , , | A31_Python复习总结1_Python教学视频已关闭评论

A30_八字彩环_Python教学视频

这是风火轮编程Python初级教程的第30课。下面的图形是案例运行结果:

李兴球Python八字彩环视频教程

李兴球Python八字彩环视频教程

本课主要包括以下内容:

本课先用画正多边形模拟画圆的方法画圆,然后画8字彩环图案。

1、本课主要学习如何画8字,然后把它变成一个彩环。

2、学习circle命令的用法,把刚才编写的程序换成用circle命令重新编写。

3、练习把8字换成S这样的图形,重新编程。

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

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

发表在 python, turtle, 视频教程 | 标签为 , , , | A30_八字彩环_Python教学视频已关闭评论

A29_有趣的数字陷阱_Python教学视频

这是风火轮编程Python初级教程的第29课。本课主要包括以下内容:

1、什么是数字陷阱?

任意选定一个大于0的自然数n,如果它是偶数,就把它除以2;
如果它是奇数,就把它乘以3再加上1,将计算的结果照此进行下去。
结果:经过无数次的计算后,最后总是4、2、1三个数。
8,4 ,2,1,
5,16,8,4,2,1

2、编制作程序从键盘输入这个一个数,然后按照规则显示数字, 一直到最后一个为1的数字。

3、本程序要求掌握如何判断一个数是偶数,如何判断一个数是奇数。

4、让程序自动演示数字陷阱,结果要显示在海龟画图屏幕上。

5、斐波那契数列(Fibonacci sequence),又称黄金分割数列。
因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。
指的是这样一个数列:1、1、2、3、5、8、13、21、34…
编制程序打印斐波那契数列的前n项,n由input命自行输入。

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

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

发表在 python, 视频教程 | 标签为 , | A29_有趣的数字陷阱_Python教学视频已关闭评论

A28_彩色星号阵列_Python教学视频

这是风火轮编程Python初级教程的第28课,下面本例要讲解的程序《彩色星号阵列》的运行结果。

李兴球Python彩色星号阵列视频教程

李兴球Python彩色星号阵列视频教程

本课要学习在新建海龟时,可以加visible参数,这样能让海龟在生成后马上隐藏。

还要进一步学习求余运算符在实际编程中的用法。在学习理解了彩色星号阵列这个程序的代码后,

要思考如何把它修改成直角三角形星号阵列。

即第一行一个星号,第二行两个星号,第三行三个星号,依此类推。

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

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

发表在 python, 视频教程 | 标签为 , , | A28_彩色星号阵列_Python教学视频已关闭评论

A27_简易信息管理系统_Python教学视频

这是风火轮编程Python初级教程的第27课,制作一个简易信息管理系统。

以下是学习内容与布置的练习:

1、列表中可以再包括列表,这叫列表的嵌套

如果要引用列表中的列表里某索引号的数据,
那么要再次使用中括号,并在里面加上索引号。

2、for 变量 in 序列:
print(变量)

3、编制简易信息管理系统,按1显示信息,按2添加信息,按3退出

4、编制学生信息管理系统,学生的一条信息例子为:

[32768,’孙小三’,’12’,’江西萍乡安源’]
列表中的数据分别为:学号,姓名,年龄,地址

要求在程序运行后,按d显示信息,按a添加信息,按q退出管理系统。

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

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

发表在 python, 视频教程 | 标签为 , , | A27_简易信息管理系统_Python教学视频已关闭评论

A26_摩天轮前传_Python教学视频

这是风火轮编程Python初级教程的第26课,下面是本例要讲解的程序《摩天轮前传》的运行结果。

李兴球Python填充命令画笔摩天轮前传视频教程

李兴球Python填充命令画笔摩天轮前传视频教程

本课主要学习填充命令。通过画一个像摩天轮一样的图形来学习的,以后还会让这幅图形旋转起来。

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , | A26_摩天轮前传_Python教学视频已关闭评论

A25_会写诗的海龟_Python教学视频

这是风火轮编程Python初级教程的第25课,下面是本例要讲解的程序《会写诗的海龟》的运行结果。

李兴球Python会写诗的海龟运行结果

李兴球Python会写诗的海龟运行结果


本课主要学习write命令,还包括几个练习程序,本课主要是老师带着学生编制一个程序。

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , , | A25_会写诗的海龟_Python教学视频已关闭评论

A24_格子海龟_Python教学视频

这是风火轮编程Python初级教程的第24课,下面是本例要讲解的程序《格子海龟》的运行结果。

李兴球Python画格子海龟运行结果

李兴球Python画格子海龟运行结果

这是一节练习课,还包括几个练习程序,本课主要是老师带着学生编制一个程序。

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

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

发表在 python, turtle | 标签为 , , , | A24_格子海龟_Python教学视频已关闭评论

A23_克隆阵列_Python教学视频

这是风火轮编程Python初级教程的第23课,下面本例要讲解的程序《克隆阵列》的运行结果。

李兴球Python克隆阵列运行结果

李兴球Python克隆阵列运行结果

这是一节练习课,包括引导教学程序,练习程序等,本课主要是老师带着学生编制一个程序。

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

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

发表在 python, sprites, turtle | 标签为 , , , , | A23_克隆阵列_Python教学视频已关闭评论

A22_正多边形的秘密_Python教学视频

这是风火轮编程Python初级教程的第22课,下面是教学演示中的一张图片。

李兴球Python正多边形内角和分析表

李兴球Python正多边形内角和分析表

用Python制作的幻灯片类型的作品。本课主要结合几何知识,推导了正多边形内角和公式。
以下是完整源代码。(并非本课程例子程序的代码,这是用于演示教学的程序)
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第二十二课 正多边形的秘密
"""
from sprites import *

s = '第二十二课 正多边形的秘密'
screen = Screen()
screen.bgcolor('green')
screen.titlebar(False)
root = screen._root              # 窗口对象
root.wm_attributes('-alpha',0.7) # 设置窗口为全透明(0到1.0)
screen.setup(1000,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()

# 下面的TK是就是tkinter
popup = TK.Menu(screen._root, tearoff=0)
popup.add_command(label="关于本程序",command=lambda:showinfo('关于','本程序由李兴球开发\n\nQQ:406273900\n\nwww.lixingqiu.com'))
popup.add_command(label="打开主页",command=lambda:os.system('explorer https://www.lixingqiu.com'))
popup.add_command(label="退出本程序",command=lambda:screen.bye())

def do_popup(event):
    """显示弹出菜单"""
    try:
        popup.tk_popup(event.x_root, event.y_root + 10, 0)
    finally:
        # 确保释放按键
        popup.grab_release()
screen.cv.bind("", do_popup)   # 画布绑定鼠标右键



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

ft_title = ('微软雅黑',30,'bold')
ft_context = ('宋体',15,'normal')
t = Sprite(visible=False,pos=(-500,300))
t.color('yellow')
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 ="""


本课主要学习旋转一圈是360度这个基本常识,
还要学习正多形内角和公式是怎么来的。
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',17,'normal')
    简介 = Sprite(visible=False,pos=(0,-300))
    简介.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()     

byebye = """
下次再见!
"""
t.clear()
t.color('cyan')
t.home()
t.write(byebye,align='center',font=('宋体',38,'bold'))
    
screen.mainloop()

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , | A22_正多边形的秘密_Python教学视频已关闭评论

A21_真假小海龟(图章与造型)_Python教学视频

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

李兴球Python真假小海龟(图章与造型)_Python教学视频文字内容

李兴球Python真假小海龟(图章与造型)_Python教学视频文字内容

用Python制作的幻灯片类型的作品。本课主要学习如何海龟画图中的图章功能。
还会学习如何获取海龟所有的造型列表,清除图章等命令。
以下是完整源代码。(并非本课程例子程序《真假小海龟》的代码,这是用于演示教学的程序)
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第二十一课 真假小海龟(图章与造型)
"""
from sprites import *

s = '第二十一课 真假小海龟(图章与造型)'
screen = Screen()
screen.bgcolor('green')
screen.titlebar(False)
root = screen._root              # 窗口对象
root.wm_attributes('-alpha',0.7) # 设置窗口为全透明(0到1.0)
screen.setup(1000,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()

# 下面的TK是就是tkinter
popup = TK.Menu(screen._root, tearoff=0)
popup.add_command(label="关于本程序",command=lambda:showinfo('关于','本程序由李兴球开发\n\nQQ:406273900\n\nwww.lixingqiu.com'))
popup.add_command(label="打开主页",command=lambda:os.system('explorer https://www.lixingqiu.com'))
popup.add_command(label="退出本程序",command=lambda:screen.bye())

def do_popup(event):
    """显示弹出菜单"""
    try:
        popup.tk_popup(event.x_root, event.y_root + 10, 0)
    finally:
        # 确保释放按键
        popup.grab_release()
screen.cv.bind("", do_popup)   # 画布绑定鼠标右键



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

ft_title = ('微软雅黑',30,'bold')
ft_context = ('宋体',15,'normal')
t = Sprite(visible=False,pos=(-500,300))
t.color('yellow')
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 ="""


本课主要学习形状列表、图章、清除图章与清除图章们命令。
还会学习通过shape参数新建一只海龟的写法。

1、screen.getshapes()能获取海龟所有能用的造型列表,也叫形状列表

2、Turtle(shape='turtle')  能新建一只造型为turtle的海龟

3、stamp命令是给海龟盖图章的,它会返回图章编号。

4、clearstamp是根据图章编号清除图章的。

5、clearstamps是清除所有图章或者清除最先或最后所盖n个图章的命令。

练习与作业:

★ 用图章功能画一个由图章组成的边长为100的正方形。

★ 首先让海龟盖10个章,然后让它移动后新盖一个章,然后清除最早盖的章,
   不断重复这个过程,你会看到什么? 
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',17,'normal')
    简介 = Sprite(visible=False,pos=(0,-300))
    简介.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()     

byebye = """
下次再见!
"""
t.clear()
t.color('cyan')
t.home()
t.write(byebye,align='center',font=('宋体',38,'bold'))
    
screen.mainloop()

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , | A21_真假小海龟(图章与造型)_Python教学视频已关闭评论

A20_妈妈的菜单_Python教学视频

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

李兴球Python妈妈的菜单制作视频教程

李兴球Python妈妈的菜单制作视频教程

用Python制作的幻灯片类型的作品。本课主要学习如何制作简易菜单,叫妈妈的菜单。
以下是完整源代码。(并非本课程例子程序《妈妈的菜单》的代码,这是用于演示教学的程序)
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第二十课 妈妈的菜单
"""
from sprites import *

s = '第二十课 妈妈的菜单'
screen = Screen()
screen.bgcolor('green')
screen.titlebar(False)
root = screen._root              # 窗口对象
root.wm_attributes('-alpha',0.7) # 设置窗口为全透明(0到1.0)
screen.setup(1000,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()

# 下面的TK是就是tkinter
popup = TK.Menu(screen._root, tearoff=0)
popup.add_command(label="关于本程序",command=lambda:showinfo('关于','本程序由李兴球开发\n\nQQ:406273900\n\nwww.lixingqiu.com'))
popup.add_command(label="打开主页",command=lambda:os.system('explorer https://www.lixingqiu.com'))
popup.add_command(label="退出本程序",command=lambda:screen.bye())

def do_popup(event):
    """显示弹出菜单"""
    try:
        popup.tk_popup(event.x_root, event.y_root + 10, 0)
    finally:
        # 确保释放按键
        popup.grab_release()
screen.cv.bind("", do_popup)   # 画布绑定鼠标右键



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

ft_title = ('微软雅黑',30,'bold')
ft_context = ('宋体',15,'normal')
t = Sprite(visible=False,pos=(-500,300))
t.color('yellow')
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 ="""

妈妈每天早上要做饭,可是今天不做饭了,就出了一份菜单叫孩子们选择,
选择的内容有三项,分别为如下所示:

1、肉包子加鸡蛋
2、香辣炒粉
3、奶油面包

于是孩子们就通过计算机键盘输入1或2或3,各自选择自己喜爱的食物。

本程序是一个简单的当循环,多重条件判断练习,主菜单是一个多行字符串。

练习与作业:

★ 编写程序从键盘输入从1到10的数字。如果输入1则算出从1到10的所有自然数的和。
   如果输入2则算出从1到20的自然数的和。如果输入3则算出从1到30所有自然数的和。
   依次类推。

★ 七大行星分别是水星、金星、地球、火星、木星、土星、天王星、海王星。
   请编制程序,首先会显示一个主菜单,显示七大行星的名字,然后要求
   根据输入的不同数字分别打印它们的简要说明。1对应水星,2对应金星,依此类推。
   如果输入的是quit或者exit,则退出程序。如果输入的不是从1到7的数字也不是quit或exit,
   则显示输入错误,请重新输入。 
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',17,'normal')
    简介 = Sprite(visible=False,pos=(0,-300))
    简介.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()     

byebye = """
下次再见!
"""
t.clear()
t.color('cyan')
t.home()
t.write(byebye,align='center',font=('宋体',38,'bold'))
    
screen.mainloop()

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , | A20_妈妈的菜单_Python教学视频已关闭评论

A19_猜数游戏_Python教学视频

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

李兴球Python猜数游戏_Python教学视频

李兴球Python猜数游戏_Python教学视频

用Python制作的幻灯片类型的作品。本课主要讲解一个经典的小游戏,叫猜测数小游戏。
以下是完整源代码。(并非猜数小游戏的代码,是用于演示教学的程序)
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十九课 猜数游戏
"""
from sprites import *

s = '第十九课 猜数游戏'
screen = Screen()
screen.bgcolor('green')
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()

# 下面的TK是就是tkinter
popup = TK.Menu(screen._root, tearoff=0)
popup.add_command(label="关于本程序",command=lambda:showinfo('关于','本程序由李兴球开发\n\nQQ:406273900\n\nwww.lixingqiu.com'))
popup.add_command(label="打开主页",command=lambda:os.system('explorer https://www.lixingqiu.com'))
popup.add_command(label="退出本程序",command=lambda:screen.bye())

def do_popup(event):
    """显示弹出菜单"""
    try:
        popup.tk_popup(event.x_root, event.y_root + 10, 0)
    finally:
        # 确保释放按键
        popup.grab_release()
screen.cv.bind("", do_popup)   # 画布绑定鼠标右键



# 单击鼠标左键开始
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,300))
t.color('yellow')
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 ="""

猜数小游戏是一个非常经典的小游戏。

它的运行过程是计算机出一个数字。

然后是让用户从键盘输入一个数来猜计算机出了什么数字。

如果用户输入的数字比计算机出的数小,那么计算机就会提示小了。

如果用户输入的数字比计算机出的数大,那么计算机就会提示大了。

如果用户输入的数字和计算机出的数一样大,说明猜对了。

这时候就退出这个程序。

由于这个程序不知道用户会猜多少次,所以一般采用while循环
来不断地让用户输入数据。当用户输入了数据,则进行相应的判断...

以下是练习与作业

1、把猜数游戏用for循环重新编制。

2、用while循环打印星号,第一行打印一个星号,第二行打印两个星号,
   第三行打印三个星号,一直到第十行打印十个星号。
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',18,'normal')
    简介 = Sprite(visible=False,pos=(0,-300))
    简介.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()     

byebye = """
下次再见!
"""
t.clear()
t.color('cyan')
t.home()
t.write(byebye,align='center',font=('宋体',38,'bold'))
    
screen.mainloop()

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

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

发表在 python, sprites, turtle | 标签为 , , , | A19_猜数游戏_Python教学视频已关闭评论

A18_while循环与变量的命名_Python教学视频

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

李兴球Pythonhile循环与变量的命名_Python教学视频文字内容

李兴球Pythonhile循环与变量的命名_Python教学视频文字内容

用Python制作的幻灯片类型的作品。本课学习while循环的语法,还要对变量的命名方法进行学习。
最后通过几个练习进行巩固,以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十八课 while循环与变量的命名
"""
from sprites import *

s = '第十八课 while循环与变量的命名'
screen = Screen()
screen.bgcolor('green')
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()

# 下面的TK是就是tkinter
popup = TK.Menu(screen._root, tearoff=0)
popup.add_command(label="关于本程序",command=lambda:showinfo('关于','本程序由李兴球开发\n\nQQ:406273900\n\nwww.lixingqiu.com'))
popup.add_command(label="打开主页",command=lambda:os.system('explorer https://www.lixingqiu.com'))
popup.add_command(label="退出本程序",command=lambda:screen.bye())

def do_popup(event):
    """显示弹出菜单"""
    try:
        popup.tk_popup(event.x_root, event.y_root + 10, 0)
    finally:
        # 确保释放按键
        popup.grab_release()
screen.cv.bind("", do_popup)   # 画布绑定鼠标右键



# 单击鼠标左键开始
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,300))
t.color('blue')
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 ="""
while循环也是一种循环控制结构。这是本课主要学习的内容。
并且通过四个练习以进行巩固。本课练习与作业是把以前用for
循环编制的程序改成用while循环进行实现。
编程学得好,秘决很简单。只要多练习,早晚成专家!

以下是学习列表:

1、变量的命名可以是26个英文字母和下划线及数字,也能用中文。
但给变量取名字不能以数字开头,更不能包括#号,问号
,感叹号等“特殊符号”。

2、while循环叫当循环,它的语法为:

    while 表达式:
         语句组
    
while循环的含义为当表达式成立时,就执行语句组,
否则就退出while循环。如while True:这样的循环。
由于是永远成立,也叫死循环,结束死循环用按键 Ctrl + C即可。

3、用while循环画一个正方形。

4、while循环打印10x10星号阵列

5、用while循环计算从1到10所有整数的和。

6、用while循环计算从1到100中所有的3的倍数的和。

"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',18,'normal')
    简介 = Sprite(visible=False,pos=(0,-430))
    简介.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()     

byebye = """
下次再见!
"""
t.clear()
t.color('cyan')
t.home()
t.write(byebye,align='center',font=('宋体',38,'bold'))
    
screen.mainloop()

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , | A18_while循环与变量的命名_Python教学视频已关闭评论

A17_夜幕下的霓虹_Python教学视频

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

李兴球Python夜幕下的霓虹随机模块举例

李兴球Python夜幕下的霓虹随机模块举例

用Python制作的幻灯片类型的作品,这是一节实战课程,讲一个小例子。
以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十七课 夜幕下的霓虹
"""
from sprites import *

s = '第十七课 夜幕下的霓虹'
screen = Screen()
screen.bgcolor('green')
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,250))
t.color('blue')
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 ="""
华灯初上,在夜幕的衬托下显得格外漂亮。

本课我们要制作一幅彩图。彩图的内容是在黑色的

背景上面随机显示有彩色的点。

程序中窗口内屏幕大小为800x600像素。

为了让随机打的彩色点都在屏幕范围内,

所以这些点的x的值不能超出屏幕的最大x和最小x值,

当然,彩点的y坐标也不能超出屏幕的最小y和最大y值。

由于屏幕的宽度为800,原点的x坐标是0,所以x最小值就是-400。

而x最大值就是400。同样的道理,y的最小值是-300,最大值是300。
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',18,'normal')
    简介 = Sprite(visible=False,pos=(0,-250))
    简介.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()     

byebye = """
下次再见!
"""
t.clear()
t.color('cyan')
t.home()
t.write(byebye,align='center',font=('宋体',38,'bold'))
    
screen.exitonclick()


screen.mainloop()

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , | A17_夜幕下的霓虹_Python教学视频已关闭评论

A16_逻辑表达式与条件判断_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, sprites, turtle, 视频教程 | 标签为 , , , , | A16_逻辑表达式与条件判断_Python教学视频已关闭评论

A15_坐标与随机数_Python教学视频

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

李兴球Python_坐标与随机数_Python教学视频教学大纲

李兴球Python_坐标与随机数_Python教学视频教学大纲

用Python制作的幻灯片类型的作品,本课程主要学习如何给海龟画图屏幕贴图、坐标与随机模块及相关命令。
最后还有一个实战小程序,以下是完整源代码。
本程序需要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 ="""
本课主要学习的是坐标和随机数模块,附带学习设定屏幕的背景图片命令

和获取海龟的方向,即heading命令。关于坐标的命令稍微多点,

先记住几个单词,如set是设置的意思,position是位置的意思,

cor是coordinates,即坐标的前三个字母,bg是background的缩写。

而pic则是picture,即图片的前三个字母。
"""
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、屏幕的bgpic命令

2、坐标的概念

3、坐标相关命令

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、屏幕的bgpic命令

海龟画图的屏幕有bgpic命令,能设定屏幕的背景图片。

假设有名为bg.png的图片在d盘根目录和名为screen的屏幕,
 
那么用screen.bgpic('d:/bg.png')就能设置背景图片。

注意图片要为png或gif格式,不支持jpg和jpeg扩展名的图像。
"""
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、坐标的概念

坐标是用来精确表示位置的一对数据。

坐标有两根轴,一根是水平轴叫x轴,一根是垂直轴叫y轴。

它们的交叉点叫原点,原点的坐标是(0,0)。

每个点的x值表示到y轴的最短距离,y值表示到x轴的最短距离。

"""
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、坐标相关命令

setx:设定x坐标,     
sety:设定y坐标,
setposition:设置x,y坐标,别名是setpos和goto,

xcor:获取x坐标,      ycor:获取y坐标
position:获取x,y坐标,别名是pos

"""
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、随机模块

除了time模块和turtle模块,Python还有个叫random的模块。

这个模块可以用来产生随机数。如randint命令能产生某范围内随机
的一个整数。用法为randint(起始值,结束值)。

还有choice命令能从序列中随机挑一个数据。用法为choice(序列)。
使用随机数模块有基本的两种方式:

导入方式一,import random
此时使用randint命令的形式为:random.randint(起始,结束)

随机模块导入方式二,from random import * 
这个时候可以直接使用randint命令,如randint(10,20)
能产生从10到20之间的随机整数。

"""
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、实战小程序(多彩散射条)

编制程序让海龟随机选择一个方向,随机选择一种颜色,

然后用fd命令随机移动一定的距离再倒回来, 如此重复100次。
"""
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、练习与作业 

★ 编制程序产生10个随机数,打印它们的平均数。

★ 编制程序产生随机的两个数字,打印它们的乘积,把此过程重复10次。
 
★ 获取海龟的方向用heading命令。假设有名为turtle的海龟对象,
   那么如turtle.heading()就能获取当前海龟的方向值。
   编制程序,给屏幕设置一张背景图,并且要用fd命令画正方形。
   当海龟移动一次就打印出它的坐标和方向。
     
"""
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, sprites, turtle, 视频教程 | 标签为 , , , | A15_坐标与随机数_Python教学视频已关闭评论

A14_算术与关系表达式_Python教学视频

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

李兴球Python算术与关系表达式视频教程

李兴球Python算术与关系表达式视频教程

用Python制作的幻灯片类型的作品,本课程主要学习算术表达式,算术运算符,关系运算符,关系表达式。
还要学习几个常用的命令,如abs绝对值命令,round四舍五入命令,divmod求商和余命令,sum/max/min命令,以下是完整源代码。
本程序需要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 ="""
本课主要学习的内容是算术与关系表达式。

另外还要学习几个常用命令。如pow命令、abs命令、round命令。

在练习与作业中要学习时间模块中的time命令。它是用来获取时间戳的。

这是自1970年以来所经过的秒数。假设导入了time模块,那么调用

time.time()就能获取这个时间戳。时间戳是一个浮点数。
"""
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、abs和round命令

4、divmod求商和余数命令

5、sum、max、min命令

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、算术运算符与表达式

在编程的过程中经常需要做数学运算,这里就涉及到一些符号,
在计算机中相对应的主要有,加+,减-,乘*,除/和求余%运算符。

求余运算符能求一个数除以另一个数的余数,如 5%3的结果是2。

除此之外还有整除运算符,用两个正斜杠表示,即//。
如32//5的结果是6,而9//10的结果是0。

还有两个星号连在一起的运算符,它是求幂运算符。
假设x=2,y=3,那么x**y的结果是8,
3**4的的意思是3的4次方,即3*3*3*3,运算结果是81。

有一个命令叫做pow,它也可以完成求x的y次方的运算。
如pow(3,4)的结果是81,pow(2,3)就是求2的3次方,结果是8。

其中求幂运算符的优先级最高,小括号内优先级次之。
由算术运算符组成的表达式叫算术表达式。

如3+4*5-10/5的结果是21.0,而3+4*(5-10)/5的结果是-1.0。
"""
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、关系运算符与表达式

关系运算符又叫比较运算符,像>,>=,<,<=,==,!= 就是关系运算符,
要判断两个数据相等用的是两个连等号。

而要判断两个数据不相等,则用的是!=号。
由关系运算符组成式子叫关系表达式。它会返回真或者假。

假设有x=3 ,y=5,那么x>y返回假,而x y,是先把x+3的值进行计算,再比较,所以返回真。

如 (x

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , , | A14_算术与关系表达式_Python教学视频已关闭评论

A13_小芽初长成(嵌套for循环)_Python教学视频

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

李兴球Python嵌套for循环与画笔教学

李兴球Python嵌套for循环与画笔教学

用Python制作的幻灯片类型的作品,本课程主要学习Python的嵌套for循环,并且用它画一幅画儿。
我们把它命名为小芽初长成。以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十三课 小芽初长成(嵌套的for循环)
"""
from sprites import *

s = '第十三课 小芽初长成(嵌套的for循环)'
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()

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)

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

# 简介
brief ="""
小荷才露尖尖角,早有蜻蜓立上头。这里的小芽初长成是语意双关,

当你能把本课的练习都做完,说明你的编程能力上了一个新台阶。

本课主要是学习如何使用嵌套的for循环。编程也是一门功夫,

只要不断地实践练习,就一定能真正地掌握。观看视频时,

可以先暂停一下,看看自己能不能先做出来?
"""
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、用海龟画田字

4、用海龟画小芽

5、练习与作业
"""
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、模块的使用方法

Python自带有很多模块,除了turtle模块,还有time模块。  
它提供了一些命令供我们使用。如sleep命令,这是睡眠命令。
导入time模块后就能使用了。方法为time.sleep(1),小括号里
的1是1秒的意思。执行这行代码后,会让程序等待1秒后才执行
下面的代码。

也可以用from time import sleep命令单独导入sleep命令。
这个时候,我们可以直接用sleep(1)来让程序等待1秒了。

同样的道理,海龟模块也提供了一些命令供我们使用,我们也可以
使用如下的命令来导入它们。

   from turtle import *

这是从海龟模块导入所有命令的意思。星号代表所有命令。这个时候
需要新建一只海龟,才能进行绘画的编程。使用的命令为Turtle()。
注意第一个字母为大写,下面的命令新建一只名为tom的海龟。

   tom = Turtle()

如果要获取屏幕对象可以使用tom.getscreen()。
也可以使用Screen这个命令。它会新建或者返回当前的屏幕。
"""
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、画并列的三个十字架

首先,我们要知道如何画十字架,这里提供一种方法,

先看一下画的过程。一个十字架画好了,那么让海龟

前进一定的距离再画一个十字架,重复3次即可。

以下是画十字架的代码描述:

    重复4次
        前进100
        倒退100
        右转90度

"""
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、用海龟画田字

  田字由四个正方形组成,在这里我们画田字的方法是先画一个正方形。

  然后右转90度,再画一个正方形,如此重复4次就会得到一个田字。

  下面看一下画的过程动画。

  下面是画正方形的代码描述:

     重复4次
        前进100
        右转90度
        
"""
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、用海龟画小芽

接下来用海龟来画一个有点像小芽苗一样的图形。首先,
来看一下演示动画。在这个动画中的箭头首先是向上的。
它先往右一边移动一边右转,到最顶上,它的方向变成
了向右,说明它总共旋转了90度。然后它又向右旋转90度。
重复这个过程,这样一去一回,箭头一共旋转了360度。

接下来往左转,画左边部分图形,原理也是一样。
最后倒退100个单位,就把这个图形画完了。
大家可以先画一下,再看视频。

以下是画右半部小芽的代码描述:

     重复10次
        移动10
        右转9度
     右转90度

     重复10次
        移动10
        右转9度
     右转90度
"""
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循环画一排如意金箍棒。

   ★ 用嵌套的for循环打印*号,第一行打印一个,第二行打印两
     个,第三行打印3个星号,依此类推到第十行打印10个星号。

   ★ 用嵌套的for循环打印出1、2、3这三个数字的所有2个数字的
     组合。可以是下面这样的:
      1 1,1 2,1 3,
      2 1,2 2,2 3,
      3,1,3 2,3 3,      
"""
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')

 


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, sprites, turtle, 视频教程 | 标签为 , , , | A13_小芽初长成(嵌套for循环)_Python教学视频已关闭评论

A03_集成开发与学习环境_Python教学视频

这是风火轮编程Python初级教程的第三课,本课程免费。下面是思维导图。

李兴球Python集成开发与学习环境Python视频教程思维导图

李兴球Python集成开发与学习环境Python视频教程思维导图

下面是学习视频:

链接:https://pan.baidu.com/s/1gMT73eFe5U8E-Pkvf0eaSw
提取码:o9lw

发表在 python, 视频教程 | 标签为 , , , , , | A03_集成开发与学习环境_Python教学视频已关闭评论

A02_下载与安装Python_Python教学视频

这是风火轮编程Python初级教程的第二课,本课程免费。下面是思维导图。

李兴球下载与安装Python视频教程思维导图

李兴球下载与安装Python视频教程思维导图

下面是视频播放:

链接:https://pan.baidu.com/s/1Gr_L8Rjj41n_p7UJQSzj7Q
提取码:gdhm

发表在 python, 视频教程 | 标签为 , | A02_下载与安装Python_Python教学视频已关闭评论

A01_编程及Python简介_Python教学视频

这是风火轮编程Python初级教程的第一课,本课程免费。下面是思维导图。

李兴球Python第一课编程及Python简介_Python教学视频

李兴球Python第一课编程及Python简介_Python教学视频下面是视频:

链接:https://pan.baidu.com/s/1gdtzv5WgV3rSC-lIhg2KtQ
提取码:hq1v

发表在 python, 视频教程 | 标签为 , , | A01_编程及Python简介_Python教学视频已关闭评论

A12_for循环与遍历演示档_Python教学视频

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

李兴球Python for循环与遍历

李兴球Python for循环与遍历

用Python制作的幻灯片类型的作品,本课程主要学习for循环以及遍历等。
以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十二课 for循环与遍历
"""
from sprites import *

s = '第十二课 for循环与遍历'
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()

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)

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

# 简介
brief ="""
在编程的过程中,我们经常需要重复一些语句的执行。

这个时候就要用到循环控制结构。在Python中主要有

for循环和while循环能重复一些语句的执行。本课主

要学习的内容就是for循环。然后通过做练习对for循环

的学习进行巩固。
"""
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、print命令的end参数

2、for循环语法

3、遍历序列

4、求自然数的和

5、求100以内3的倍数和

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、print命令的end参数

我们学习过print命令,它有一个叫sep的参数。这是指定分隔符号的。
print命令还有一个叫end的参数,它是用来指定结束符号的。
其实print命令默认的结束符号为换行符。所以print()这样的语句
就是打印一个换行。而print(32,end='Py')则会打印32Py。
像print('a','b',sep='#',end='c') 则会打印a#bc。
"""
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、for循环语法

for循环的语法如下所示:

   for 变量  in 序列:

      语句组

在for循环的语法中,变量的名称是自己取的,序列则是元组、
列表、字符串、range。for循环中序列后面的冒号是必不可少
的。语句组中的每一条语句相对于for的缩进要一样。
如果语句组只有一条语句,则可以放在冒号后面。

for循环的本质是逐个访问序列中的数据并赋值给变量,
然后就执行一次语句组,直到所有数据访问完毕或执行相关命令强制退出。
   
如下面的for循环会依次打印range命令所产生的每个数据。

for n in range(10):
    print(n,end=',')   

这个for循环中的n会依次得到从0到9的数字,每得到一次就会打印一次自己,
所以这个for循环中的print语句执行了10次。
"""
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、遍历序列

用for循环逐个访问序列中的每一个数据叫遍历序列。其实,
我们刚才遍历了range序列。当然也可以遍历字符串、元组及列表。

下面的程序遍历了一个字符串。
    for char in '风火轮编程':
        print(char,end='')

下面的程序打印列表中的每个数据。
    for n in [32,76,8]:
        print(n,end=' ')

下面的程序也是遍历了序列。
    numbers = [61,32,76,89]
    for index in range(len(numbers)):
        print(numbers[index],end=' ')

下面的程序打印了列表中的颜色单词。
    for c in ['red','blue','cyan']:
       print('这是',end=':')
       print(c)
"""
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、求自然数的和

现在,我们来用for循环来求从1到10的所有自然数的和。
怎么编呢?我们可以首先把这些数字遍历一下。写出下面的代码:
 
    for n in range(1,11):
        print(n)

接下来,我们只要稍微修改程序,把n都累加到一个变量中去就行了。
这个变量用来保存所有自然数的和,把它叫s。程序就变成下面这样了。
    s = 0
    for n in range(1,11):
        s = s + n

上面的程序相当于对s进行了累加,累加的数字就是从1到10这些数。

如果还不能理解上面的程序,可以这样来理解,首先,
n 是等于1的,那么 s 就等于 0 + 1,结果s的值变成1了,然后
n 变成了2,那么 s 就等于 1 + 2,结果s就变成了3,接着
n 变成了3,那么 s 就等于 3 + 3,结果s的值是6了,依此类推...
n 变成了10,那么 s 就等于45 + 10,结果s变成了55。

最后,当for循环结束后,我们应该打印一下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、求100以内3的倍数和

要求出100以内所有3的倍数的和的话。首先,需要找个方法,

至少我们能把所有是3的倍数这些数能列出来。

那么如何才能得到这些数据呢,我们可以使用range(3,100,3)。

由于步长为3,所以它产生的所有数据都是3的倍数。

那么程序就较简单了,用for x in range(3,100,3)遍历这些数据,

依次把它们的和累加起来就可以了。
      
"""
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、练习与作业 

★ 用for循环编制程序让海龟前进20个单位打一个直径为10的红点,
   如此重复10次。
  
★ 用for循环编制程序打印10行星号,每行有10个星号。

★ 用for循环编制程序让海龟画一个红色的边长为100的正方形。

★ 用for循环编制程序求100以内(不包括100)的所有偶数的和。

★ 用for循环编制程序用海龟从上到下每隔10个单位画10条
   长度为100的平行线条。
      
"""
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, sprites, turtle, 视频教程 | 标签为 , , , , | A12_for循环与遍历演示档_Python教学视频已关闭评论

A11_序列与range命令Python教学视频

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

python序列与range命令演示档

python序列与range命令演示档


用Python制作的幻灯片类型的作品,本课程主要学习如何用python的海龟模块制作漂亮的简单图形。我们把它命名为赤橙黄绿青蓝紫光。以下是完整源代码。
本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade

"""
   第十一课 序列与range(范围)命令
"""
from sprites import *

s = '第十一课 序列与range(范围)命令'
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()

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)

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

# 简介
brief ="""
本课我们主要学习的内容是序列与可迭代的概念,

还有成员运算符in以及sorted命令。

更重要地是学习range命令,像这些命令的学习,

我们只要多多在IDLE的Shell中实践,就能更快地掌握。

这是为下节课学习for循环打基础的课程。
"""
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、print命令的sep参数

2、序列与成员运算符

3、range范围命令

4、sorted排序命令

5、练习与作业
"""
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、print命令的sep参数

前面我们提及了参数。在print命令中,我们可以用逗号隔开,
从而打印很多数据。这些参数叫位置参数。还有一种参数叫
关键词参数。它们一定要放在位置参数后面。
说到这里,可能有很多人就糊涂了。下面,通过举例来学习。

当我们用print(32,76,8)打印这三个数据的时候,它们默认
以空格符号分隔。如何让它们以逗号或其它符号分隔呢?
这时,可以在这三个数据的后面加上sep参数。
sep是英文separator的前三个字母。表示分隔符的意思。

为了让所打印的数据以逗号分隔,
要这么写:print(32,76,8,sep=',')。假设希望数据用#号分隔,
就这么写:print('a','b',sep='#')。sep='#'叫关键词参数。
它一定要在位置参数后面。并且分隔符不一定是一个字符!
如,print('张','黄','两个是好朋友',sep='乐乐')
   
"""
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、序列与成员运算符

序列的英文为sequence,它包含一些能被逐个访问的数据。
字符串,元组和列表都是序列。它们都是可迭代的,
也就是说它们所包含的数据能一个一个地被访问。
   
当我们要判断一个数据是否在一个序列中时,可以使用in这个关键词。
它叫成员运算符。它会返回一个逻辑值,即真或者假。
  
如 'a' in 'abcd' ,这行代码返回真。

当要判断是否不在一个序列中时,用not in。

如'a' not in 'abcd',这行代码返回假。
 
"""
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、range范围命令

range在英文中是范围的意思。在Python中用它产生整数序列。
为了学好range命令,我们了解下什么是步长,所谓步长就是
序列的后一个数字减去前一个数字的差。如有序列 2,3,4。
那么这个序列的步长就是1。如有序列 2,5,8,它的步长是3。

range命令语法: range(start,stop,step),参数名分别叫
做起始值,结束值,步长。它产生的数字是从start开始到
stop结束,但不包含stop的以步长为增加量的一系列数字。

学习这个命令最好的方法是在IDLE的Shell中多多实践,
用list命令把range能产生的数据列出来,这样直观些容易理解。
如list(range(1,6))则会产生列表[1,2,3,4,5]。
list(range(2,9,3))会产生列表[2,5,8]。
list(range(10,12))会产生列表[10,11]。

最后要说明的是,range命令它只是能产生这些数据,
它并不会真正地产生这些数据。它也属于序列的范畴。
"""
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、sorted排序命令

sorted命令能对序列进行排序,返回一个列表。
如sorted('3dcba2')会返回按字母顺序排序的
['2', '3', 'a', 'b', 'c', 'd']。

如果参数是一个列表,则要求列表中的数据要么全是数字,
要么全是字符串,否则出错。如,sorted(['32','a','b']),
这样的写法是无法对列表排序的,所以会出错。
"""
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、练习与作业 

★ range('a' in 'abc',6)能产生哪些数据呢?

★ 用range命令产生从3到13(包括13)之间的所有数据,
用列表把它们列出来。

★ 用list和range命令组合,产生一个列表,
这个列表包括从20到1的所有数据。(步长为-1)

★ 在IDLE的Shell中输入range(10),它会返回range(0,10),
那么len(str(range(10)))的值是?
      
"""
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')

 
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源代码及素材等等。

打包下载地址:

链接:https://pan.baidu.com/s/1xLefkX7Fes36rQMV8i5ZDQ
提取码:akky

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , , | A11_序列与range命令Python教学视频已关闭评论

A10_赤橙黄绿青蓝紫(落笔抬笔打点)_Python教学视频

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

python画笔打圆点落笔抬笔dot命令教程

python画笔打圆点落笔抬笔dot命令教程


用Python制作的幻灯片类型的作品,本课程主要学习如何用python的海龟模块制作漂亮的简单图形。我们把它命名为赤橙黄绿青蓝紫光。以下是完整源代码。
本程序需要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()

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)

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

# 简介
brief ="""
本节课,我们主要学习倒退命令、抬笔与落笔和打点命令。
然后运用所学过的知识用程序的顺序结构画一个简单的彩色图形。
在这个课程中,我们把画的步骤描述了一下,大家在观看视频的时候
可以暂停一下,看看能不能自己先画出来。
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',18,'normal')
    简介 = Sprite(visible=False,pos=(0,-100))
    简介.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、落笔与抬笔

4、dot打圆点命令

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、关于参数

所谓参数,它可能是一个数据,也可能是一个变量,
关于参数我们以后还会讲解。在这里把它理解为写
到命令小括号中的数据。如turtle.fd(100),
那么100就是参数。而在print(32,76)这句代码中,
print命令有两个参数,它们以逗号进行隔开。
   
"""
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、倒退命令

如果要让海龟倒退的话,我们可以在forward命令中用负数。
当然,也可以直接用海龟画图提供的backward、back和bk命令。
它们都是能让海龟往后退。
如turtle.backward(100)就能让海龟倒退100个单位了。
当然,我们写成turtle.back(100)或者turtle.bk(10)
都是完全没有问题的。
   
"""
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、落笔与抬笔

海龟默认就是落笔的,当我们移动它时,它就会留下轨迹。
如果不希望它留下轨迹,那么我们可以用抬笔命令让它抬笔。
pendown,pd,down这三个是落笔命令,没有参数。
penup,pu,up这三个是抬笔命令,没有参数。
isdown命令判断是否是落笔还是抬笔状态。
"""
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、dot命令

dot命令能打圆点,它有两个参数,第一个表示直径,第二个表示颜色。
如果不写颜色,则以海龟的颜色为圆点的颜色。
假设海龟的颜色为红色,那么dot(100)会打一个直径为100的红圆。 
dot(100,'blue')则不管海龟什么颜色,海龟都会在屏幕上
会打一个直径为100的蓝色的圆。
"""
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、编程画图形

现在来练习编程,让海龟从屏幕的左边到右边打不同颜色的圆点。
颜色依次是赤、橙、黄、绿、青、蓝、紫。
由于黑色的背景能更加衬托出彩色的效果,所以当导入海龟模块后,
我们获取了屏幕,把它命名为screen,然后把屏幕的背景色设为黑色。
接着,为了让海龟在移动的过程中不留下轨迹,所以让它抬笔了。
我们希望海龟从左边到右边打圆点,所以让海龟倒退了300个单位。
最后,我们不断地打一个不同颜色的圆点,然后前进100个单位,
一共打了7个点。
      
"""
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、练习与作业

★ 画两条并排的竖线条,长度为100,隔50个单位
 
★ 打两行甚至更多行的赤橙黄绿青蓝紫圆点图形。
  
★ 打点时只写直径这个参数,重新编制赤橙黄绿青蓝紫图形。
   
"""
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, sprites, turtle, 视频教程 | 标签为 , , , , , | A10_赤橙黄绿青蓝紫(落笔抬笔打点)_Python教学视频已关闭评论

A09_画笔如意金箍棒_Python教学视频

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

李兴球Python画笔如意金箍棒教学大纲

李兴球Python画笔如意金箍棒教学大纲


用Python制作的幻灯片类型的作品,本课程主要学习如何用python的海龟模块制作一个孙悟空的如意金箍棒,以下是完整源代码。
本程序需要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()

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)

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

# 简介
brief ="""
这节课我们要学习如何画一根如意金箍棒。

更重要的是,还要知道海龟画图的起源。

还有屏幕与设置屏幕与方向的相关命令。
"""
if brief!='':  # 如果有课程简介,则生成一个角色,
    ftx = ('宋体',18,'normal')
    简介 = Sprite(visible=False,pos=(0,-100))
    简介.color('white')
    简介.write(brief,align='center',font=ftx)    
    while  m1.down():screen.update()    
    while not m1.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、背景色和宽高

4、方向与设定方向

5、如意金箍棒

6、作业与练习
"""
t.color('white')
t.clear()
t.sety(-260)              # 这里修改菜单的显示y坐标
ft = ('楷体',24,'bold')
s = studycontent
while not m1.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、海龟画图

海龟画图这个名字源于上个世纪60年代的logo计算
机语言。logo计算机语言是至今还在使用的教编程
入门的一种计算机语言。它通过输入命令指挥一只
小海龟移动,从而能够画出漂亮的图形而得名。如,
输入fd 100,就能让小海龟前进100个单位。
"""
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、屏幕与画布

海龟移动所在的地方叫屏幕。在屏幕上有画布,
有滚动条,海龟是在画布上进行绘画的。
当屏幕变小时,滚动条才会自动出现。
获取屏幕可以用getscreen命令。
下面的命令就能获取屏幕对象,我们把它取名为sc。

   import turtle
   
   sc = turtle.getscreen()
   
"""
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、背景色和宽高

我们可以给屏幕设定背景颜色及屏幕的宽度和高度。

设定背景色的命令为bgcolor,
假设屏幕对象的名称为screen,那么
screen.bgcolor('green') 就能把背景色设为绿色。

设定宽高的命令为setup,用法为screen.setup(宽度,高度)。
如screen.setup(480,360),会设定屏幕的宽高为480x360。  
"""
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、方向与设定方向

在海龟画图中,海龟默认的方向为向右。
它的方向值为0度。可以用left命令让它向左旋转90度,
这个时候它的方向值为90度。

如果继续用left命令让它向左旋转90度,
它的方向值就变成了180度。

继续向左旋转90度,则方向值变成了270度。

再继续向左旋转90度,则方向值为360度。

这个时候它回到了初始的方向。
360度的方向也就是0度的方向。

我们可以看出当用left旋转海龟的时候,
海龟的方向值是增加的。反过来,
用right命令旋转海龟的时候,方向值是减小的。

如果要设定方向,可以用setheading命令,
简写形式为seth。用法:
   海龟.setheading(方向值)
"""
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、如意金箍棒

   编制程序,画孙悟空的如意金箍棒。
   我们将要从下往上画这个图形,以下是主要步骤:

   导入海龟模块
   获取屏幕对象
   设定屏幕为黑
   设定屏幕宽高

   设定画笔粗细
   设定画笔为向上
   让海龟退100个单位

   设定画笔颜色为橙色
   前进50个单位
   设定画笔颜色为红色
   前进150个单位
   设定画笔颜色为橙色
   前进50个单位
      
"""
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、作业与练习

   ★ 你能说说屏幕和窗口的区别吗?
   ★ -90度的方向是朝向上、下、左、右中的哪一个方向呢?
   ★ 修改如意金箍棒程序,让它变成斜的,
   颜色、长度和背景色都不一样。
   
"""
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, sprites, turtle, 视频教程 | 标签为 , , , , , , | A09_画笔如意金箍棒_Python教学视频已关闭评论