2020/7/11上午8点上课内容_Python的tkinter弹球基础

单击按钮,弹球开始弹来弹去,碰到画布的边缘会反弹。请同学们把程序修改成多个彩色弹球的版本。

import time
from tkinter import *
from tkinter import messagebox  

def ball_born():
    
    t = messagebox.askyesno('这是标题','要弹球出世吗?')
    if not t: return
    b1.configure(state=DISABLED)
    dx = 10
    dy = 10                        # left,top,right,bottom
    ball = canvas.create_oval(50,50,100,100,fill='red',width=5)

    while True:
        canvas.move(ball,dx,dy)  # 移动球水平,垂直
        left,top,right,bottom =  canvas.coords(ball)   # 获取ball的最小矩形
        if left<=0 or right>=480:dx= -dx
        if top<=0 or bottom>=360:dy= -dy
        
        canvas.update()
        time.sleep(0.01)    
    
root = Tk()         # Tk是一个类,实例化一个窗口
root.title('tkinter弹球基础') 
root.geometry('480x400') 
root.config(bg='yellow')

b1 = Button(root,text='开始弹球',command=ball_born)
b1.pack(side=TOP)   # RIGHT,TOP,BOTTOM

##speeds = [[1,2],[2,3],[-1,2]]
##speeds[0][0]
##speeds[0][1]

canvas = Canvas(root,width=480,height=360,bg='cyan')
canvas.pack()

root.mainloop()

发表在 python, tkinter | 标签为 , , | 留下评论

关于Python海龟画图屏幕的tracer命令

今天早上偶然看到一位Python教师对tracer的解释,感觉不太对,所以我就写了下面的东西。
tracer命令本质上是屏幕对象的一个命令。它可以用来加速绘画速度。
它有两个参数,第一个参数的含义为关闭或者启用自动刷新。如果值为0,表示关闭了自动刷新,这个时候海龟本身及所画的图形并不会立即显示出来。但这个并不影响盖图章与dot命令与write命令及clear命令,及设置背景图片。
如果第一个参数的值为大于0的整数,那么只有海龟执行了n次动作,才会真正的进行渲染刷新。
第二个参数用来设置绘画延时的时间,单位为毫秒,这和屏幕对象的delay命令是一致的。

李兴球Python屏幕的tracer命令关闭自动刷新

李兴球Python屏幕的tracer命令关闭自动刷新


通常加速海龟画图过程的命令为首先关闭自动刷新与设置屏幕绘画延时为0毫秒,即screen.tracer(0,0),然后在画完后再把屏幕手动刷新一下。即调用screen.update()。
在通过import turtle命令导入的时候,有些屏幕对象的命令,也嫁接到了turtle上。这个时候的turtle它是一个模块、一个海龟和屏幕的一个混合体。我们要明白的是在Python海龟画图中有屏幕对象,有海龟对象,还有画笔对象,当你查看一下turtle.py源代码的时候,就会明白,其实画笔就是海龟的别名。

发表在 python, turtle | 标签为 , | 留下评论

鼠标滚轮暗亮与保存图像_Python海龟画图的图形处理

李兴球Python海龟图像处理

李兴球Python海龟图像处理


用Python的海龟画图能进行图像处理吗? 答案是可以,当然海龟画图模块的本质是tkinter,它能显示图形,但图像处理是用的pillow模块,我们只要不断的把处理后的图像显示出来即可,这接口就是ImageTk,下面是一个例子,按滚轮缩放能变暗或变亮图形,单击海龟画图屏幕右边能保存处理后的图形到磁盘中,下面是代码:

"""
   鼠标滚轮暗亮与保存图像.py
   如何让海龟画图支持png或jpg或bmp等图形做为海龟的造型呢?
   这个程序里不仅有答案,还有更多的知识等待你的发掘。
   滚动后factor的值变化了,根据factor让图像变暗或变亮,
   重新加入造型字典,再把造型设为monkey的造型
"""
import os
from PIL import Image,ImageTk,ImageEnhance
from turtle import Turtle,Shape,Screen
from tkinter.filedialog import asksaveasfilename

factor = 1
def appendshape(name,image):
    """
       添加造型到形状字典(支持png等图形格式)
       name:给造型取的名字
       image:图像文件名
    """
    pass
        
def gun(event):
    global factor
    pass

def savepic(x,y ):
    """弹出另存为对话框,保存当前图像"""
    pass
    
screen = Screen()
canvas = screen.cv
canvas.bind("", gun)

swkimage = '孙悟空.png'
monkey = Turtle(shape='blank')
monkey.penup()
monkey.speed(0)
monkey.sety(100)
monkey.color('gray')
ft = ('黑体',32,'normal')
monkey.write('支持png,jpg,bmp等暗亮图形',align='center',font=ft)
monkey.sety(-50)
appendshape('孙悟空',swkimage)
monkey.shape('孙悟空')
screen.onclick(savepic,3)
screen.mainloop()


需要完整代码与素材,请

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

发表在 python, turtle | 标签为 | 留下评论

鼠标滚轮缩放图像.py

李兴球Python turtle png鼠标滚动缩放图形

李兴球Python turtle png鼠标滚动缩放图形


如何让Python海龟画图中的海龟对象采用png,bmp或jpg等图为其的造型呢?下面的代码是真正的支持这些图形的,按鼠标滚轮,图像还能缩放大小。读者可以把这个程序发展为一个查看图像的小作品。

"""
   鼠标滚轮缩放图像.py
   如何让海龟画图支持png或jpg或bmp等图形做为海龟的造型呢?
   这个程序里不仅有答案,还有更多的知识等待你的发掘。
"""
from PIL import Image,ImageTk
from turtle import Turtle,Shape,Screen

scale = 100
def appendshape(name,image):
    """
       添加造型到形状字典(支持png等图形格式)
       name:给造型取的名字
       image:图像文件名
    """
    pass                            # 这里代码省略了
        
def gun(event):
    global scale
    pass                           # 这里代码省略了

screen = Screen()
canvas = screen.cv
canvas.bind("", gun)  # 绑定鼠标滚轮事件

swkimage = '孙悟空.png'
monkey = Turtle(shape='blank')
monkey.penup()
monkey.speed(0)
monkey.sety(100)
monkey.color('gray')
ft = ('黑体',32,'normal')
monkey.write('支持png,jpg,bmp等缩放图形',align='center',font=ft)
monkey.sety(-50)
appendshape('孙悟空',swkimage)
monkey.shape('孙悟空')

screen.mainloop()

需要完整源代码和图像素材,请

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

发表在 python, turtle | 标签为 , , , , | 留下评论

编程娃娃原理篇

李兴球Python编程娃娃原理篇

李兴球Python编程娃娃原理篇


编程娃娃是本人开发的一个小软件,有Scratch版和Python版。这个作品通过编排图形化指令,指挥一个娃娃移动。
由于作品的代码比较复杂,这里提供一个精简版的核心代码用来阐述原理,方便学习,并且你也可以把它扩展成为一个编程思维训练软件。
下面是全版本的演示:
李兴球Python编程娃娃演示

李兴球Python编程娃娃演示

"""
   编程娃娃原理篇.py
   想像中间的箭头是一个可爱的娃娃,它会根据你编排的指令移动!
"""
from time import sleep
from turtle import Turtle,Screen,Shape

def appendshape(image,name=None):
    """支持png图形的添加造型到海龟画图形状字典
        name:给造型取的名字
       image:图像文件名
    """
    pass                                      # 代码省略
        
class Command(Turtle):
    pass                                      # 代码省略
    
screen = Screen()

# 图像到命令的映射
cmdsdict = {'res/fd.png':'forward(50)',
          'res/right.png':'right(90)',
          'res/left.png':'left(90)'}

c1 = Command(cmdsdict,(-160,-200))
c2 = Command(cmdsdict,(-80,-200))
c3 = Command(cmdsdict,(0,-200))
c4 = Command(cmdsdict,(80,-200))
c5 = Command(cmdsdict,(160,-200))

cmds = [c1,c2,c3,c4,c5]

wawa = Turtle(shape='arrow')
wawa.speed(1)
wawa.pensize(4)
wawa.color('blue','red')
wawa.shapesize(2,2,10)
wawa.setheading(90)

def run(x,y):
    wawa.onclick(None)
    for cmd in cmds:
        s = 'wawa.' + cmd._cmd
        screen.title(s)
        exec(s)
        sleep(1)
    wawa.onclick(run)
        
wawa.onclick(run)

ft = ('黑体',12,'normal')
ftb = ('黑体',22,'normal')
w = Turtle(shape='blank')
w.penup()
w.speed(0)
w.color('gray')
w.sety(260)
w.write("编程娃娃原理篇",align='center',font=ftb)
w.sety(-260)
w.write("请单击上面5个按钮编排指令",align='center',font=ft)
w.sety(-280)
w.write("然后单击蓝色箭头运行指令",align='center',font=ft)

screen.mainloop()

需要全部源代码和素材,请

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

发表在 python, turtle | 标签为 , , , , | 留下评论

势不可挡之Python

李兴球Python势不可挡宣传动画

李兴球Python势不可挡宣传动画

"""
   势不可挡之Python
"""
from sprites import *                           # 从精灵模块导入所有命令

PlaySound('流浪者(剪).wav',SND_LOOP|SND_ASYNC)  # 循环播放背景音乐

bgs = [f"bgs/{i:04d}.png" for i in range(1,126)]

screen = Screen()                               # 新建屏幕 
screen.setup(800,450)                           # 设定宽高 
screen.bgcolor('black')
screen.title('势不可挡Python')              # 写上标题

brain = Sprite(shape='brains',pos=(0,160))      # 大脑动画角色
logo = Sprite(shape='logo.png',pos=(-330,-180))  
logo.setalpha(123)
brain.set_alpha(128)
screen.onkeypress(lambda:python.left(10), "Left")
screen.onkeypress(lambda:python.right(10),"Right")
screen.onkeypress(lambda:python.fd(10),"Up")
screen.onkeypress(lambda:python.bk(10),"Down")

screen.listen()

f = open('文字说明.txt')                        # 打开文字说明 
c = f.read()                                    # 读取文件
f.close()                                       # 关闭文件

txt3image(c,'res/zi.png',fontsize=21,color=(255,250,0))     # 文字转换成图像
subtitle = Sprite('res/zi.png',pos=(780,-98))    # 新建字幕角色 

i = 0
for x in range(260):    
    screen.bgpic(bgs[i])
    i = i + 1
    i = i % 125
    if subtitle.xcor()>10:
       subtitle.bk(5)                              # 字幕往左移5个单位
    brain.nextcostume()                            # 大脑角色切换造型
    time.sleep(0.1)                             # 等待0.1秒
    
i = 0
for x in range(143):    
    screen.bgpic(bgs[i])
    i = i + 1
    i = i % 125
    subtitle.bk(5)                              # 字幕往左移5个单位
    brain.nextcostume()                         # 大脑角色切换造型
    brain.bk(5)
    time.sleep(0.1)                             # 等待0.1秒
subtitle.hide()   
    
f = open('code.txt')         # 打开文字说明 
c2 = f.read()                                    # 读取文件
f.close()              
txt3image(c2,'res/zi2.png',fontsize=21,color=(0,250,255))     # 文字转换成图像
subtitle2 = Sprite('res/zi2.png',pos=(780,0))    # 新建字幕角色 

python2 = Sprite(shape='python2.png',pos=(880,0))

i = 0
while True:    
    screen.bgpic(bgs[i])
    i = i + 1
    i = i % 125
    if subtitle2.xcor()>70:
       subtitle2.bk(5)                              # 字幕往左移5个单位
    if python2.xcor()>100:
        python2.bk(4)
    time.sleep(0.1)                             # 等待0.1秒
    screen.update()
    
    

需要本程序的源代码和素材,请进QQ群225792826自行下载.

发表在 python, sprites, turtle | 标签为 , | 留下评论

完全删除海龟对象_how to delete python turtle entirely?

"""
   完全删除海龟对象.py
   在实践中,用海龟模块编制游戏,有时候需要完全删除一个turtle对象。
   否则程序会运行越来越慢。典型的是射击游戏,如果不复用子弹的话,
   那么当子弹超过屏幕边缘,则要彻底删除它。
   so,在Python海龟画图中,如何彻底删除一个海龟对象呢?
   或许你会说,只要用del删除海龟对象的名字即可。
   这样是不行的,在新建海龟对象的时候会产生几个画布对象,这些对象并不会被删除。
   经作者研究,只要把这几个画布对象全部删除即可。
   但是,如果这个海龟对象画了线条,盖了图章,那么还要把这些item对象也全部删除。
   以下是示例程序,当然,读者可以把它封成函数等。

"""
from turtle import Turtle

tom = Turtle()
tom.stamp()
print(tom.stampItems)
canvas = tom.screen.cv

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

发表在 python, turtle | 标签为 , , | 留下评论

神奇彩条动画

李兴球Python神奇彩条动画

李兴球Python神奇彩条动画

"""
   神奇彩条动画.py
   
"""
from random import randint
from coloradd import coloradd
from turtle import Turtle,Screen
from winsound import PlaySound,SND_LOOP,SND_ASYNC

screen = Screen()
screen.setup(360,600)
screen.bgcolor('black')
screen.tracer(0,0)
screen.colormode(255)
screen.screensize(100,100)
screen.title('神奇彩条动画')

PlaySound('领略大自然的美丽神奇.wav',SND_LOOP|SND_ASYNC)

c = (255,255,0)
tom = Turtle(shape='square')
tom.penup()
tom.speed(0)

tom.color(c)
tom.shearfactor(0.5)

toms = [tom]

for i in range(1,10):
    angle = i * 36
    t = tom.clone()
    t.setheading(angle)
    toms.append(t)

pass                     # 这里推荐省略了

需要完整的源代码和音乐素材,请

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

发表在 python | 标签为 , , , , , | 留下评论

弹跳力RGB圆_Python纯画笔动画

李兴球Python弹跳力RGB圆满

李兴球Python弹跳力RGB圆满


除了背景图,一切都是画出来的,程序运行后,单击会画图形,再按空格键,图形会旋转,并且还会受到重力往下弹跳,你说神奇不神奇。

"""
   荒野弹跳,原名:弹跳力RGB圆
"""
import time
import turtle

cs = ['red','green','blue']

def draw_pic():
    pass
        
def rotate(x,y):
    pass

def fall():
    pass
    
screen = turtle.getscreen()
screen.setup(480,800)
screen.tracer(0,0)
screen.title("弹跳力RGB圆")
screen.bgpic('bg.png')

dy = 0
ft = ('黑体',16,'normal')
turtle.speed(0)
turtle.pensize(15)
turtle.penup()
turtle.sety(300)
turtle.write("一、单击画彩圆",align='center',font=ft)
turtle.sety(260)
turtle.write("二、按空格键让它弹跳",align='center',font=ft)
turtle.sety(220)
turtle.write("本程序由Python海龟画图制作,作者:李兴球",align='center',font=ft)
turtle.sety(300)

screen.onclick(rotate)
screen.onkeypress(fall,"space")
screen.listen()
screen.mainloop()

需要全部源代码和素材,请

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

发表在 python | 标签为 , , | 留下评论

for else 应用示例检测质数

本人对for 循环中的 for else 语地用得较少,在实际编程中也有点用途,下面是一个检测一个数是否是素数的函数,用到了for … else语法。当然,也可以不用这种语法改写函数。你当然可以完成。


def isprime(num):
    """检测num是否为质数"""
    if num > 1:
       # 检测因素
       for i in range(2,num):
           if (num % i) == 0:
               return False
       else:
           return True            
    else:
       return False

if __name__ == "__main__":

    for x in range(2,100):
        if isprime(x) :print(x,end=',')

发表在 python | 标签为 | 留下评论

端午节问候_python海龟画图交互动画

李兴球python端午节快乐交互动画

李兴球python端午节快乐交互动画



端午节节到了,下面是给你的一个问候,本程序最后的while循环也可以采用多线程方式处理,你当然可以自己完成!以下是部分代码预览。

"""
   端午节问候.py
   采用枕头模块的图像增加中的亮度方法可以修改图像的明暗度。
   可以应用于显示图像从暗到亮的渐变效果。
"""
import os,time
from turtle import Screen,Turtle,Shape
from PIL import Image,ImageEnhance
from winsound import PlaySound,SND_LOOP,SND_ASYNC

def make_darktolight_sequence(image,amounts):
    """生成图像从暗到亮的序列图"""
    fld = os.path.splitext(image)[0]
    if not os.path.exists(fld):os.mkdir(fld)
    pass
    # 这里省略n行代码
    # 这里省略n行代码
    # 这里省略n行代码
    # 这里省略n行代码

                
if __name__ == "__main__":

    image = '封面.png'
    make_darktolight_sequence(image,30)
    screen = Screen()
    screen.delay(0)
    screen.setup(918,548)
    screen.title('端午节快乐by李兴球')
    
    PlaySound('茉莉花.wav',SND_ASYNC|SND_LOOP)
    for index in range(30):
        pic = '封面/' + str(index) + ".png"
        screen.bgpic(pic)
        screen.update()
        
    ftbig = ('楷体',42,'normal')
    ftsmall = ('黑体',24,'normal')
    ftsmall2 = ('宋体',20,'normal')
    w = Turtle(shape='blank')
    w.penup()
    w.sety(100)
    w.write('端午节快乐',align='center',font=ftbig)
    w.color('gray')
    w.sety(-50)
    w.write('www.lixingqiu.com',align='center',font=ftsmall)
    w.color('green')
    w.sety(-100)
    w.write('本程序由Python海龟画图模块制作',align='center',font=ftsmall)
    w.color("gray")
    w.sety(-200)
    w.write('萍乡本地青少年需要报名学编程联系本人',align='center',font=ftsmall2)
    w.color("white")
    w.sety(-2)
    w.sety(-198)
    w.write('萍乡本地青少年需要报名学编程联系本人',align='center',font=ftsmall2)

    zzshape = Shape('image',screen._image('粽子小图.png'))
    screen.addshape('zz',zzshape)
    zz = Turtle(shape='zz')
    zz.speed(0)
    zz.penup()
    screen.cv.bind("",follow_mouse)

    zz.onclick(gaistamp)
    screen.mainloop()

需要全部源代码和音乐素材,图片素材,请

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

发表在 python | 标签为 , , , , , | 留下评论

制作从暗到亮的图像帧.py

李兴球python制作从暗到亮的图像帧

李兴球python制作从暗到亮的图像帧

发表在 python | 标签为 , , | 留下评论

新冠状态病毒问答

李兴球Python covid19question新冠状病毒问答

李兴球Python covid19question新冠状病毒问答


"""
   新冠状态病毒问答.py
"""
import time
from threading import Thread
from turtle import Turtle,Screen,Shape
from winsound import PlaySound,SND_LOOP,SND_ASYNC
from tkinter.messagebox import askyesno,showinfo,showwarning

questions = {'感染新型冠状病毒后一般会发热吗?':True,
             '只有老人才会感染新型冠状病毒吗?':False,
             '病毒主要通过飞沫传染吗?':True,
             '去人多的地方要戴口罩吗?':True,
             '建议口罩重复使用以节约资源?':False,
             '跑步时要也要戴口罩?':False,
             '可以用白酒消毒吗?':False, 
             '浓度在75%以上的才有消毒作用?':True,
             '洗热水澡可以预防新型冠状病毒吗?':False,
             '新型冠状病毒怕高温吗?':True,
             '开窗通风有利于病毒的传播?':False}

bgs = [f"bgs/{i:04d}.png" for i in range(1,75)]

title = '新冠状病毒问答'
screen = Screen()
screen.setup(640,480)
screen.bgpic(bgs[0])
screen.title(title)

# 亲,下面的代码省略了哦

screen.mainloop()

需要完整源代码,音乐素材,图片素材,请

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

发表在 python, tkinter, turtle | 标签为 , , , , | 留下评论

幻灯片式显示字幕

"""
   幻灯片式显示字幕.py
   本程序会随机显示自我介绍的文字在海龟图屏幕上。
"""
import time
import random
import turtle

introduces = ['嗨!','我叫李兴球',
             '我喜欢用Python编程',
             '我要写非常棒的代码',
             '让人们一看就能明白',
             '我家住在江西萍乡市',
             '欢迎你到萍乡来!']

screen = turtle.getscreen()
screen.bgcolor('black')

w = screen.window_width()
h = screen.window_height()

turtle.speed(0)
turtle.penup()
turtle.color('cyan')
turtle.hideturtle()

ft = ('黑体',24,'italic')
for intro in introduces:
    x = random.randint(-w//2+100,w//2-100)
    y = random.randint(-h//2+100,h//2-100)
    turtle.goto(x,y)
    turtle.clear()
    turtle.write(intro,align='center',font=ft)
    time.sleep(2)
    

发表在 python, turtle | 标签为 , , , | 留下评论

淘气的窗口

李兴球创意Python程序淘气的窗口

李兴球创意Python程序淘气的窗口


以下是完整版代码:

"""
   淘气的窗口.py
   有个海龟画图窗口很淘气,你单击一下它,它就会跑,还会给你颜色看!

"""
import random 
from turtle import Screen

def move_random(x,y):
    """单击窗口会随机移到windows屏幕任一位置"""
    r = random.randint(1,255)
    g = random.randint(1,255)
    b = random.randint(1,255)
    screen.bgcolor(r,g,b)
    x = random.randint(0,1023)
    y = random.randint(0,767)
    screen.setup(startx=x,starty=y,width=200,height=200)
    
screen = Screen()
screen.colormode(255)
screen.setup(200,200)
screen.screensize(100,100)           # 设定画布尺寸
screen.title('请单击屏幕任一位置')   # 设定标题
screen.onclick(move_random)          # 绑定单击事件到move_random函数
screen.mainloop()                    # 进入主循环

发表在 python, turtle | 标签为 , , , | 留下评论

词云显示在海龟画图屏幕上

词云显示在海龟画图屏幕上

词云显示在海龟画图屏幕上

"""
   词云显示在海龟画图屏幕上.py
   
这个程序根据文本文件的内容生成词云png图像,
然后把这幅图像加载到海龟画图屏幕中显示出来。
当然,如果不断地读取文本文件,那么可以动态显示词云,也能做成gif文件
"""

import turtle
from turtle import Shape
from wordcloud import *

# 打开文件
f = open('word.txt')
c = f.read()
f.close()

# 根据文本生成词云对象写入文件
w = WordCloud(width=800,height=600).generate(c.lower())
w.to_file('word.png')

# 获取海龟屏幕
screen = turtle.getscreen()
screen.setup(800,600)
screen.title('词云显示在海龟画图屏幕上by李兴球')

# 新建一个形状
wordshape = Shape('image',screen._image('word.png'))
screen.addshape('word',wordshape)

# 把海龟设定为这个形状
turtle.shape('word')
screen.mainloop()

发表在 python, turtle | 留下评论

Python海龟画图画板2020617版

李兴球Python海龟画图的画板

李兴球Python海龟画图的画板

"""
   Python海龟画图画版2020617版
"""
import turtle

screen = turtle.getscreen()
screen.setup(480,360)
screen.bgcolor('black')
screen.delay(0)

turtle.color('magenta')
turtle.speed(0)
turtle.penup()
turtle.ht()

last_pos = None

def begindraw(event):
    global last_pos
    x = event.x - 240                   # 转换成海龟坐标系中的x坐标
    y = 180 - event.y                   # 转换成海龟坐标系中的y坐标
    if last_pos is not None:
        turtle.goto(last_pos)
        turtle.pendown()
        turtle.goto(x,y)

def enddraw(event):
    turtle.penup()
    last_pos = None
    
pass                                  # 这里省略了若干代码......
screen.mainloop()

需要所有源代码,请

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

发表在 python, turtle | 标签为 , | 留下评论

pygame画板2020617版

李兴球Python的pygame画板

李兴球Python的pygame画板

"""
   pygame画板2020617版
"""
import pygame
from pygame.locals import *

screen = pygame.display.set_mode((480,360))
pygame.display.set_caption("pygame画板2020617版")

drawing = False
last_pos = None
pencolor = (255, 0, 255)

running = True
while running:
    for event in pygame.event.get():               # 遍历每个事件
        if event.type == QUIT:running = False      # 事件类型为退出
            pass                                   # 此处代码省略

pygame.quit()

需要所有源代码,请

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

发表在 pygame, python | 标签为 | 留下评论

青少年学习Python编程知识体系

当家长问,青少年学习Python到底学些什么? 你可以根据下面的图形讲一个大半天,也可以把这张图打印在培训机构墙上。学习Python从最基本的编程基础学习起,海龟画图可以贯穿在整个教学当中。控制结构学好了,可以学习函数,学习列表,元组,字典集合,常见命令与文件操作与常见模块的命令学习可以贯穿其中。异常处理、推导式什么的在学习文件操作后可以学习一下。接着,可以学习常见的一些算法,最后在有一定的编程经验后再学习面向对象编程比较合适。

李兴球Python青少年编程知识体系

李兴球Python青少年编程知识体系

本图片用思维导图软件制作,需要源文件及高清大图请

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

发表在 python, 杂谈 | 标签为 , , | 留下评论

七彩三角形

李兴球Python七彩三角形

李兴球Python七彩三角形

"""
   13七彩三角形.py

"""
import turtle
import colorsys

def coloradd(r,g,b):
    """让颜色增加一点点的函数"""
    h,l,s = colorsys.rgb_to_hls(r,g,b)
    h = h + 0.01
    r,g,b = colorsys.hls_to_rgb(h,l,s)
    return r,g,b

c = (1,0,0)
turtle.speed(0)

for i in range(200):
    turtle.color(c)
    turtle.fd(1)
    turtle.sety(turtle.ycor() + i)
    turtle.sety(turtle.ycor() - i)
    c = coloradd(c[0],c[1],c[2]) 

发表在 python, turtle | 标签为 , , | 留下评论

可视化_选择py文件写到word表格

"""
   本程序会把py文件以表格的形式写入到word文档中
"""
import os
from docx import Document
from docx.shared import Inches

import tkinter as tk
from tkinter import filedialog as fd 

def callback():
  
    name= fd.askopenfilename(initialdir = ".",
                             title = "选择Python源代码文件",
                             filetypes = (("py files","*.py"),("所有文件","*.*")))
    if name != '':
        f = open(name,encoding='utf-8')
        c = f.read()
        f.close()
        filecontents = c.split('\n')        
        document = Document()
        table = document.add_table(rows=len(filecontents), cols=2)
        i = 0
        for line in filecontents:
            print(line)
            row = table.rows[i].cells
            row[0].text = str(i+1)
            row[1].text = line
            i = i + 1
        document.save('dir_py.docx')
                
tk.Button(text='单击选择一个Python源文件',
          command=callback).pack(fill=tk.X)

tk.mainloop()

发表在 python, tkinter | 留下评论

矩形碰撞演示程序.py

李兴球Python海龟画图矩形碰撞演示

李兴球Python海龟画图矩形碰撞演示

"""
   矩形碰撞演示程序.py
   下面的r1.gif和r2.gif是两张100x100像素的图形。
"""
__author__ = '李兴球'
__date__ = '2020/06/14'
__blog__ = 'www.lixingqiu'

from turtle import Turtle,Screen

def collide(t1,t2):
    """检测t1是否和t2重叠"""  
    t1_left = t1.xcor() - 50     # t1最左x坐标
    t1_right = t1.xcor() + 50    # t1最右x坐标
    t1_top = t1.ycor() + 50      # t1最上y坐标
    t1_bottom = t1.ycor() - 50   # t1最下y坐标
    
    t2_left = t2.xcor() - 50
    t2_right = t2.xcor() + 50
    t2_top = t2.ycor() + 50
    t2_bottom = t2.ycor() - 50

    # 以下c1,c2,c3,c4是两个矩形不重叠的情况
    c1 = t1_right t2_right   # t1最左x坐标大于t2最右x坐标
    c3 = t1_topt2_top     # t1最小y坐标大于t2最上y坐标
    
    if c1 or c2 or c3 or c4 : # 如果4种情况,只要有一种情况发生了
        return False          # 那么就没有碰撞到
    else:                     # 否则
        return True           # 就说明两个矩形重叠了
    
def motion(event):
    """鼠标移动事件"""
    screen.cv.unbind("")
    x = screen.cv.canvasx(event.x)/screen.xscale
    y = -screen.cv.canvasy(event.y)/screen.yscale
    greensquare.goto(x,y)
    if collide(greensquare,bluesquare):
        screen.title('碰撞中....')
    else:
        screen.title('矩形碰撞演示程序by lixingqiu')
    
    screen.update()
    screen.cv.bind("",motion)

width,height = 480,360
screen = Screen()
screen.setup(width,height)
screen.bgcolor('orange')
screen.addshape('r1.gif')
screen.addshape('r2.gif')
screen.title('矩形碰撞演示程序by lixingqiu')
screen.tracer(0,0)

bluesquare = Turtle(shape='r2.gif')

greensquare = Turtle(visible=False)
greensquare.penup()
greensquare.shape('r1.gif')
greensquare.st()
screen.update()

screen.cv.bind("",motion)

screen.mainloop()

李兴球Python矩形碰撞逆向思维法示意图

发表在 python, turtle | 标签为 , | 留下评论

猜数游戏海龟画图版

李兴球Python猜数游戏海龟画图2020_6_14版

李兴球Python猜数游戏海龟画图2020_6_14版

"""
  猜数游戏海龟画图版
"""
import turtle
import random

def showinfo(title=None,message=None):
    """显示信息"""
    return  turtle.TK.messagebox.showinfo(title,message)

title = '猜数游戏海龟画图版'
ftbig = ('黑体',28,'normal')
ftsmall = ('黑体',20,'normal')

n = random.randint(1,100)          # 产生一到100的随机整数

screen = turtle.getscreen()
screen.setup(480,360)
screen.title(title)
screen.bgpic('bg.png')

showinfo('','欢迎来到' + title)
turtle.ht()                        # 隐藏海龟
turtle.penup()
turtle.sety(-100)
while True:
    x = screen.numinput('请输入整数','1到100之间')
    if x == None:break
    x = int(x)
    turtle.clear()
    if x > n : turtle.write(str(x) + "大了",align='center',font=ftbig)
    if x < n : turtle.write(str(x) + "小了",align='center',font=ftsmall)
    if x == n :
        turtle.color('green')
        turtle.write("恭喜你猜对了",align='center',font=ftsmall)
        break
    
showinfo(title,'游戏结束\n\n这个数是' + str(n))
screen.bye()

发表在 python, turtle | 标签为 , | 留下评论

存活一定时间的方块角色

"""
   存活一定时间的方块角色
"""
import pygame
import random

class Square(pygame.sprite.Sprite):
    """继承自pygame.sprite.Sprite的Square类"""
    
    def __init__(self, pos, *groups):
        super().__init__(*groups)
        self.image = pygame.Surface((50, 30))
        self.image.fill(pygame.Color('cyan'))
        self.rect = self.image.get_rect(center=pos)
        self.timer = None
        self.dx = random.randint(-5,5)
        self.dy = random.randint(-5,5)
        
    def move(self):
        """移动矩形"""
        self.rect.move_ip(self.dx/10,self.dy/10)
        
    def update(self):
        """更新自己"""
        self.move()
        if self.timer is not None:    # 计时器启动了,那么开始计时,超过1500毫秒就自杀
            if pygame.time.get_ticks() - self.timer >= 1500:
                self.kill()
                
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("存活一定时间的方块角色")

squares = pygame.sprite.Group()      # 所有的方块组
方块 = Square((320, 240), squares)   # 新建一个方块

running = True
clock = pygame.time.Clock()          # 新建时钟对象
while  running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            # 按任意键开始计时
            方块.timer = pygame.time.get_ticks()

    squares.update()
    screen.fill((30, 30, 30))
    squares.draw(screen)

    pygame.display.flip()
    clock.tick(30)

pygame.quit()


发表在 pygame, python | 标签为 , , , | 留下评论

pygame做的幻灯片显示5分钟编写完的程序

李兴球Python的pygame幻灯片

李兴球Python的pygame幻灯片

"""
pygame做的幻灯片显示5分钟编写完的程序

"""
import sys
import pygame
from glob import glob

__author__ = '李兴球'
__date__ = '2012/6/13 06:58'
__blog__ = 'www.lixingqiu.com'

images = [pygame.image.load(png) for png in glob("D:\\精武世界截图\\*.jpg")]
images_whs = [img.get_size() for img in images]
ims_amounts = len(images)

screen = pygame.display.set_mode((800,600))
pygame.display.set_caption("pygame做的幻灯片显示5分钟编写完的程序")

counter = 0
running = True
clock = pygame.time.Clock()               # 建立时钟对象 

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
            
        # 动一下按键就会显示一张不同的图像
        if event.type == pygame.KEYDOWN:  # 按任意键图片索引加1
            counter += 1
            counter %= ims_amounts
                
            screen.fill((0,0,0))
            w,h = images_whs[counter]
            w,h = 400-w//2,300-h//2               # 确定渲染位置 
            screen.blit(images[counter], (w,h))   # 把图贴到screen上
            pygame.display.flip()                 # 刷新屏幕显示
    clock.tick(10)                        # fps为10
 
pygame.quit()
sys.exit()

发表在 pygame, python | 标签为 , , , | 留下评论

文件夹文件路径输出到html文档实用小程序

"""
   文件夹文件路径输出到html文档实用小程序,
   本程序会把文件夹,包括子文件夹内所有文件路径输出到一个html文档里
"""
import os

__author__ = '李兴球'
__date__ = '2012/6/13 06:45'
__blog__ = 'www.lixingqiu.com'

def sort_func(e):
    return e[1]

def dir2html(fldname):
    """本函数把文件夹内所有文件路径输出到一个html文档"""    
    files_list = []
    for root, d, files in os.walk(fldname):
        for f in files:
            files_list.append([root, f])

    files_list.sort(key=sort_func)
    html = ""
    for f in files_list:
        html += f"{f[0]}\\{f[1]}
" html += "文件总数: " + str(len(files_list)) return html if __name__ == '__main__': html = dir2html('F:\\风火轮编程卖书记录') with open("output.html", "w", encoding="utf-8") as file: file.write(html) os.startfile("output.html")
发表在 python | 标签为 , | 留下评论

视频教程:第十届蓝桥杯大赛青少年创意编程Python组省赛答案与视频教程

下面是第十届蓝桥杯大赛青少年创意编程Python组省赛的试卷,这里提供了PDF,参考答案的源代码、题目的解题方法mp4视频教程8个和相关的附属文件,如流程图ppt。需要请

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

发表在 python, turtle, 视频教程 | 标签为 | 留下评论

史上最简单的登陆系统

这是一个Python课堂练习。

'''史上最简单的登陆系统'''

f = open('user.txt')
c = f.read()
f.close()
user,password = c.split('\n')
#print(user,password)

print('欢迎黑客先生登陆系统!')
u = input("请输入用户名:")
p = input("请输入密码:")

if u == user:
    if p == password:
        print('欢迎进入暗网天地')        
    else:
        print('密码不对')
else:
    print('用户名不对')
    
input()

发表在 python | 标签为 | 留下评论

视频教程_蓝桥杯青少年创意编程 Python 组 赛前集训教程包(蓝桥杯Python中级集训包_v2)

这是风火轮编程录制的<蓝桥杯Python中级集训包_v2>讲解视频,包括以下内容:

李兴球Python蓝桥杯Python集训中级视频教程目录文档

本视频教程共有三个视频,时长为2个小时多一点,还有一个PDF文档。后面的面向对象视频讲解,采用的是更加形象些的海龟画图案例来讲解的。如有需要请:

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

发表在 python, turtle, 杂谈, 视频教程 | 标签为 , , | 留下评论

给家长的话(如何学好编程,如退费等)

[videojs mp4=”http://qadj1c43i.bkt.clouddn.com/%E7%BB%99%E5%AE%B6%E9%95%BF%E7%9A%84%E8%AF%9D.mp4″]

各位家长,你们好
我是李兴球,
就是教你们孩子编程的李老师
录这个视频
方便家长对本人更加了解

我是萍乡本地人
从高中开始学习编程一直到现在
还在不断地进行创造
现在你看到的这些文件夹,
就是本人近年来创造的东西
我的作品都是原创
像这个名为
《Python创意编程200例turtle篇》的文件夹
里面有200多个我用
Python的海龟画图模块
创造的一些小作品
我自己也编写了几本编程教材
比如《哪吒学Python-启蒙篇》
《哪吒学Python-初级篇》
《哪吒学Python-进阶篇》
《Python创意编程之Pygame教程》等等
我也已经把它们应用在教学当中了

我还创造了两个主要的模块
把它们全部开源了
这样全世界的人都能用我的模块进行创造
我把它们分别取名为
Python精灵模块和颜色增加模块
截止这个视频录制的日期,
即2020年6月3日
我自己用Python精灵模块创造了180多个作品
这些年,时不时有全国各地的人来拜访我
我都让他们满载而归

目前我主要致力于
Python创意编程的原创
和Python编程的教学
教学主要在萍乡乐学创客教育学校
我带了一个又一个的Python编程班
或许你的孩子现在就在我这里学习Python编程
那么,如何让孩子更好地学习编程
就成了我们共同的话题

这里,先说一个小故事
它来自一个小视频
名字叫《圈子决定高度》
在这个视频里
男孩拿着一幅破画分别去
商场、典当行、博物馆
问这幅画的价值
得到的回答分别是
300块、18万、180万

那么,假设我有一个自己的博客网站
在里面有我十年来原创的程序1000个
还有我原创的一些教程、视频等
那么它的价值又是多少?

对于不懂编程的人来说
或许没有什么价值
对于某些人来说
却是有巨大的价值

就像家长不了解我
所以也不知道我的价值
假设我去一线城市
我可以天天教100个教师学Python编程
而这100个教师学会我这一套知识体系后
每个人又能教100个学生
那么我的价值可能放大10000倍?

家长让孩子学习编程
是一种教育投资
如何产生最大的效益
这是每个家长都期待的

但是,十年树木,百年树人
简单的道理谁都明白
教育是长线投资
不是立杆见影
但是进一个圈子的门
可能立即就能进去

当然,光进了这个门
不好好学习
也是没有用的
正所谓师傅领进门
修行靠个人

就算孙悟空的本领也不是天生的
也是经过多少年才练成的

编程和练字一样
需要静下心来练“功夫”
稍有不同的是
编程需要不断地试错

现在中小学阶段的编程学习
学习目标主要是兴趣培养
及学习能力的培养
及构建一套基本的编程知识体系

本人已经构建了一套编程知识体系
你的孩子只要跟着我好好学
在掌握了基本语法和常用数据结构,
对编程有基本的认识后
我就能不断地引导孩子
通过不断地抛出问题
不断地解决问题
从而学习编程

我会不断地创造更多的教程
不断地录制更多的视频
发放给学生们
这也属于课程的一部分
有些孩子到了一定的时候
通过看我的教程,
录制的视频和编写的案例
就能自我学习了
并且我还会答疑解惑

或许有一天
孩子会觉得没有必要亲自来上课了
这个时候,如果还有剩余的课时
那么费用是不会退的
因为,更重要的教学目的
也就是授人以渔,已经达到了
并且学生还能不断地接收
我制作的各种教程
我还会不断地答疑解惑
这都属于课程的一部分
所以,剩余课时费是不会退的
如果家长不同意,那么尽早提出
不提出来的家长,默认为同意

另外,为了孩子们更好地学习编程
将采用积分制
每个人初始分为100分
如果学生有非客观原因而多次迟到
上课时有讲话而扰乱课堂纪律的情况
及其它影响正常教学的情况
将会进行扣分。
扣到零分
将会通知家长勒令退学
学费是不会退的!
如果家长不同意,那么尽早 提出
不提出来 的家长,默认为同意

表现良好的我会加分
加的分当然是有用的
我有大量的原创编程资源
只有学好了编程的学生
才能让资源发挥价值
否则,学生将不识货
就像给学生一吨黄金
但学生不知道黄金的价值
只是认为它是一块拿不动的石头
所以没有学好的编程的学生
拿来也发挥不了什么价值

另外,由于报班而聚的微信群就像是浮萍
群很可能当课程结束的时候解散
也不适合于存储文件等
所以课程资源将会发送到QQ群
群号为:225792826
上课前,或许素材也会放进去,
这很可能是课堂上必需要用到的
所以我的学生一定要入这个群

大家还要加一下我的微信号scratch8
有问题可以向我反馈

最后,我希望我的每个学生
都能把编程学好
不让每一个学生掉队
尽可能地在我这里能多学点编程知识
我也就问心无愧了

为此,我制定一些规则
当然,目的都是为了孩子更好的学好编程

发表在 python, 杂谈 | 标签为 , , , | 留下评论

金光圈_pygame版本.py

李兴球Python金光圈pygame版

李兴球Python金光圈pygame版

如来佛祖后面的金光闪闪就是这么制作出来的。本程序用pygame模块制作一个金光圈闪闪的动画。大部分代码如下所示:

"""
   金光圈_pygame版本.py
   金光闪闪的发光,像征着佛光普照。
   这是用pygame模块制作的一个动画。
   
"""
import pygame
from pygame.locals import *

screen = pygame.display.set_mode((800,600))
pygame.display.set_caption("金光圈_pygame版本by李兴球")

jgq = pygame.image.load('金光圈.png')            # 载入金光圈图形
circles = [jgq.copy() for  _ in range(10)]       # 生成十张图形
s = 1                                            
scales = [ s+i/2 for i in range(10)]             # 每个图形的初始比例

running = True                                   # 控制while循环的
clock = pygame.time.Clock()                      # 时钟对象 
while running:                                   # 重复执行
    for event in pygame.event.get():             # 每个事件
        if event.type == QUIT:running = False    # 如果是退出事件则退出
        
    screen.fill((255,255,255))                   # 把screen图层涂为白色
    pass                                         # 这里省略了几行代码
        
    pygame.display.update()                      # 更新图像显示
    clock.tick(60)                               # 设定fps为60 
       
pygame.display.quit()                            # 退出pygame窗口

需要完整源代码和素材请

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

发表在 pygame, python | 标签为 , , | 留下评论

turtle版佛光普照.py

李兴球Python佛光普照多线程版

李兴球Python佛光普照多线程版

一个金光闪闪的动画,这可是佛祖的光环哦,本程序用turtle模块制作。在python的海龟图中是不支持png图片,也不能把png图片放大缩小的,可是这个程序做到了,这是怎么做到的??

"""
   佛光普照.py
   python的海龟画图模块支持png图片的缩放吗?
   当然不支持,这属于图像处理范畴。
   所以如果要制作本图像效果,那么就要使用图像处理模块。
   本程序使用枕头即pillow模块处理图像,配合多线程模块完成了这个动画的制作。
"""
import time
from turtle import *
from PIL import Image
from threading import Thread

def shinning():
    global shijian                      # 全局变量,每个光圈的延时启动时间
    shijian += 0.1                      # 延时间增加0.1秒                    
    time.sleep(shijian)                 # 等待一定的时间
    t = Turtle(visible=False)           # 新建海龟对象
    t.speed(0)                          # 海龟移动速度为最快
    t.showturtle()                      # 显示出来
    while True:
        for c in costumes:
            t.shape(c)
            time.sleep(0.1)
def main():            
    """
    主要函数,对图像进行缩放处理及注册造型到型字典,然后启动线程
    """
    
    im = Image.open('金光圈.png')
    w,h = im.size
    i = 0
    pass                                   # 这里省略了一些代码哦

    for _ in range(10):    
        Thread(target=shinning).start()     # 启动线程

    screen.mainloop()                       # 主线程进入主循环
    
if __name__ == "__main__":
    
    shijian = 0
    costumes = []
    main()
    

需要素材和全部源代码,请

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

发表在 python, turtle | 标签为 , , | 留下评论

闪闪金光圈_sprites多线程版

李兴球Python闪闪金光圈sprites多线程版

李兴球Python闪闪金光圈sprites多线程版


本程序制作一个金光闪闪的圈子,以下是完整源代码:

"""
   闪闪金光圈_sprites多线程版
"""

from sprites import *
from threading import Thread

def shinning():
    clock = Clock()
    r = Sprite('金光圈.png')
    while True:
       for s in range(1,10):
           r.scale(s)
           clock.tick(30)
        
screen = Screen()

for _ in range(6):
    time.sleep(0.1)
    Thread(target=shinning).start()

screen.mainloop()
    
发表在 python, sprites, turtle | 标签为 , , , | 留下评论

Python视频教学示例: 酷酷的爆炸效果_多线程版本

李兴球python爆炸效果多线程版

李兴球python爆炸效果多线程版

这是一个用到多线程的爆炸效果,以下是风火轮在编程课堂上用到的教学视频,请对着它单击右键,另存为视频到本地!

[videojs mp4=”http://qadj1c43i.bkt.clouddn.com/kukude_explosion%20effect.mp4″]

下面是酷酷的爆炸效果的完整源代码:

"""
   酷酷的爆炸效果_多线程版.py
   本模块用于产生爆炸效果,它是用Python的海龟画图模块制作的。
   其基本原理是切换造型,但是如果要让很多炸弹都同时爆炸,而不
   阻赛程序的运行,这就需要用到异步执行了,在这里用的是多线程
   每个线程对应一个函数,在函数内部有while循环。
   最后,爆炸效果想要酷,gif图片可要选择好。
"""

from glob import glob
from time import sleep
from random import randint,random
from turtle import Screen ,Turtle
from threading import Thread

def explode1():
    """pos坐标位置产生爆炸效果,frames:就gif序列帧"""
    sleep(random())
    t = Turtle(visible=False)             # 实例化一个对象
    t.penup()                             # 抬起笔来
    t.speed(0)                            # 速度为最快 

    while True:
        x = randint(-width//2,width//2)   # 定位x坐标
        y = randint(-height//2,height//2) # 定位y坐标 
        t.goto(x,y)                       # 坐标定位置
        t.st()                            # 显示出来
        for frame in frames:
            t.shape(frame)       
            sleep(0.1)
        t.hideturtle()


if __name__ == "__main__":

    width,height = 800,600
    frames = glob("explosion/*.gif")
    screen = Screen()
    screen.setup(width,height)
    screen.bgcolor("black")
    screen.delay(0)
    screen.title("酷酷的爆炸效果多线程版_作者李兴球")
    [screen.addshape(image) for image in frames]

    for _ in range(10):               # 启动10个线程 
      Thread(target=explode1).start()
    
    screen.exitonclick()   

需要本程序的py文件和思维导图与素材请

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

发表在 python, turtle, 视频教程 | 标签为 , , , , , | 留下评论

Python编程课的一次总结

2020年5月30号,由于本人估计不足,导到Python编程授课不理想,兹总结如下:

参与人数:16
授课教室:203
时间:2020/5/30,19:00到20:30
年龄层次:小学到高中,(还有一名语文教师带一年级小朋友)
Python水平:各不相同
授课内容:函数+随机彩色艺术画

主要授课过程:
先讲函数的概念、定义与举三例子,然后讲框架程序,接着对程序进行不断地扩充、完善、精益求精。
最后练习阶段让学生抄写程序,并完成布置的作业。

现场情况:
1、有学生没带笔记本电脑
2、有带了电脑的但不知登陆密码无法练习
3、某同学的笔记本用了一会儿就没电
4、有几台电脑没有安装Python
5、有几位同学坐得太远。
6、打字基本都不熟练。
7、由于半年没有用Python,导致学生水平退步很大。
8、经常有人上课时讲话

授课总结与改进策略:

1、有3位家长反馈,授课内容死板,照本宣科。
由于本人在授课前设计了相关的一些文字图片,照着图片讲解的,和以前授课过程不一样,可能导致学生认为照本宣科与死板。函数内容对大多数学生来讲是新的内容,讲得稍快,也没有练习,这个较抽象,导致部份没学过的学生听不懂。

2、课程内容不适合,所教程序代码稍长与稍难

本由疫情影响,相隔好几个月才开课,应该是完全的复习课,而不应该加新的并且还是较抽象的函数内容。

3、某些学生是第一次见我,我也没有详细介绍自己,展示自己在Python方面的特色等。

4、小学生他们学的Python已经忘得差不多了,应该全部调到新开的班去。

5、改进授课风格,不能让学生认为自己是照本宣科。或者重新回到以直接带着编写程序为主的授课方法。
这样学生无法认为是照本宣科,因为代码都是自己一个字一个字敲出来的。

6、由于程序较长,学生要敲好久的键盘才能输入完程序,并且运行的时候100%会出好几次错误,
大大增加了挫折感。在初级阶段,还是应该以短小精悍的程序为主练习编程。

7、授课语言要风趣幽默,这个有待提升。

要做一个优秀的计算机编程教师,精通编程是远远不够的,还着重需要研究怎么教。
下次课会以完全复习为主,能寻找到创意有趣案例贯穿更好。

发表在 python, 杂谈 | 标签为 , , | 留下评论

竹林弹字游戏

李兴球Python竹林弹字游戏

李兴球Python竹林弹字游戏

有趣的汉字游戏,以下是大部分代码。

"""
    竹林弹字游戏.py
    本程序会把汉字转换一些圆形图片,然后从屏幕底部弹出来。
    这个程序有两个线程,每个线程都是一个死循环。
    操作方法为单击汉字,汉字就会爆炸,当然加上语音朗读功能就更好啦。
    本游戏需要Python精灵模块支持,如果你的电脑没有安装,请用cmd命令打开管理员窗口,输入以下命令:
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites  --upgrade
    本程序的音乐也配的很好哦,请自行加上语音郎读功能,从而变成一个有趣的汉字学习小程序。
"""
from sprites import *
from threading import Thread

def makergbcolors(n=128):        
    """产生颜色表,饱和度和亮度最高,所以很鲜艳"""
    cs = []
    for y in range(n):
        x = random.random()
        r,g,b = colorsys.hsv_to_rgb(x,1,1)
        r,g,b = int(r*255),int(g*255),int(b*255)
        cs.append((r,g,b))    
    cs = list(set(cs))
    return cs

cs = makergbcolors()

def make_image(char):
    """生成圆形含字图形对象"""
    color = random.choice(cs)
    color_rev = ((255-color[0]),(255-color[1]),(255-color[2]))
    myfont = ImageFont.truetype("msyh.ttf", 60)
    cm = Image.new("RGBA",(100,100))
    draw = ImageDraw.Draw(cm)
    fontsize = draw.textsize(char,font = myfont)     # 文字的宽度和高度
    draw.ellipse((0,0,99,99),fill=color,width=5)
    x = 50 - fontsize[0]//2
    y = 50 - fontsize[1]//2
    draw.text((x,y),char,fill=color_rev,font=myfont)
    return cm                                        # 返回图形对象

s = '我爱伟大的中华人民共和国它是一个非常伟大的国家我们一定要爱不释手'
s = set(s)
costumes = {}                                  # 造型名称和汉字的字典
for char in s:
    im =  make_image(char)
    filename = 'res/' + char + ".png"
    costumes[filename] = char
    im.save(filename)

exp = ['res/explosion0.png','res/explosion1.png']
width,height = 626,481
screen = Screen()
screen.bgpic('bamboo.jpg')
screen.setup(width,height)
screen.title('竹林弹字游戏by李兴球')

k = Mouse()                                    # 鼠标左键

def run1():
     """线程一的目标函数"""
    c = Sprite(shape=list(costumes.keys()),pos=(0,100-height//2))
    clock = Clock()
    while True:
       pass

thread1 = Thread(target=run1)
thread1.start()                               # 启动线程一


def run2():
     """线程二的目标函数"""
    c = Sprite(shape=list(costumes.keys()),pos=(0,100-height//2))
    clock = Clock()
    while True:
        pass

thread2 = Thread(target=run2)
thread2.start()                              # 启动线程2

PlaySound('Moon_in_the water.wav',SND_LOOP|SND_ASYNC)
screen.mainloop()


需要完整源代码与所有素材,请

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

发表在 pillow, python, sprites, turtle | 标签为 , , , , , , | 留下评论

随机赛车双人游戏

李兴球Python随机赛车双人游戏

李兴球Python随机赛车双人游戏

一个用Python制作的双人小游戏,里面有颜色碰撞检测,图章碰撞检测(项目编号碰撞检测)等等,以下是完整源代码:

"""
   随机赛车双人游戏
   本程序操作红色和青色两架小车去接金币,
   障碍为红色的圈形。碰到障碍物后,小车会自动回到起始坐标。
   接到一个金币后会进行统计。
   这是一个多线程示例程序,两架小车在独自的线程中运行。
   本程序还演示了颜色碰撞和对tkinter的items进行碰撞。
   本程序需要Python精灵模块支持,如果没有安装,请在以下网址下载批处理进行安装。
   https://www.lixingqiu.com/pms.bat

   相关命令说明:

   1、颜色碰撞检测命令collidecolor
   本命令只对造型为图片的角色起作用,它会检测所碰到的角色上面的颜色,
   如果是相应的颜色,则返回真,否则返回假。
   它可以有两个参数,第一个参数是颜色,需要为RGB三元组格式,如(255,0,0)表示的是红色。
   第二个参数应该是一个序列,表示要检测的角色,如果第二个参数为空,则检测所有角色。
   本使中的car1.collidecolor(red,cs)命令,检测的是cs列表中的角色,而red的值是(255,0,0)。
   它的意思car1有没有碰到cs列表中角色上面的红色。

   2、overlap_with,与...重叠命令。
   本命令查找有无和角色最小矩形重叠的项目(包括线条,圆点,多边形,圆弧,图章,填充区域,其它角色)。
   它的参数可以是列表/元组/集合、整数与角色或字符串,返回重叠的所有项目编号。
   本方法返回所有与角色矩形重叠的项目集合。

   典型应用为用一个角色盖一些图章,把这些图章的编号收集起来,然后可以用overlap_with去检测有没有碰到这些图章。
   本例中的金币有一个是角色,其它的都是图章。
   它们的项目编号都放在coins列表中。和海龟画图一样,求一个角色的项目编号用turtle属性的_item值。
   本例coin的项目编号为coin.turtle._item。而所有的图章的项目编号,在盖图章的时候都会直接返回。   

   
"""
__author__ = '李兴球'
__date__ = '2020/5/27'
__blog__ = 'www.lixingqiu.com'

from sprites import *                # 从精灵模块导入所有命令
from random import random            # 从随机模块导入random命令
from threading import Thread         # 从线程模块导入Thread类 

width,height = 960,720               # 定义宽高
screen = Screen()                    # 生成屏幕
screen.setup(width,height)           # 设置屏幕宽高 
screen.bgcolor('gray')               # 设定背景色
screen.title('随机赛车双人游戏')     # 设定标题  

red = (255,0,0)                      # 代表红色
r = Sprite('res/red.png')            # 障碍物的本体
cs = []                              # cs列表存储所有障碍物
for _ in range(30):
    r.gotorandom(-200,200,-200,200,180)
    x = (10 + random())/50 
    y = r.clone()
    y.shapesize(x,x)
    cs.append(y)
screen.listen()
r.hide()

# 生成一些金币
coin = Sprite(shape='circle')
coin.color('yellow')
coins = [coin.turtle._item]         # coins列表存储的都是些项目编号(整数)
for _ in range(50):
    coin.gotorandom()               # 在到达屏幕范围任一点  
    item = coin.stamp()             # 盖图章
    coins.append(item)              # 添加到coins列表 


def redcarfunc():
    """
       本函数是线程1的目标函数,
       它主要是生成一辆小车,然后可以用上下左右键进行控制,
       并且碰到红色的障碍物,它会回到起始点,
       碰到黄色的圆形,它会得1分,并且黄色圆形会消失。
    """
    score_bug = Sprite(visible=False,pos=(-200,250))
    score_bug.color('red')
    car1 = Sprite('res/redcar.png',pos=(-50,0))
    car1.left(90)
    car1.score = 0                              # 自定义属性
    leftkey = Key("Left")
    rightkey = Key("Right")
    upkey = Key("Up")
    downkey = Key("Down")
    while True:
        if leftkey.down():car1.left(5)
        if rightkey.down():car1.right(5)
        if upkey.down():car1.fd(5)
        if downkey.down():car1.bk(5)    
        if car1.collidecolor(red,cs):car1.slide((0,-50))
        items = car1.overlap_with(coins)
        car1.score += len(items)
        if items:
            [coin.clearstamp(i) for i in items]
            score_bug.clear()
            score_bug.write(car1.score,font=("",32,"normal"))        
        screen.update()
        
thread1 = Thread(target=redcarfunc)            # 创建线程1
thread1.start()                                # 启动线程1

def cyancarfunc():
    """
       本函数是线程2的目标函数,
       它主要是生成一辆小车,然后可以用awsd键进行控制,
       并且碰到红色的障碍物,它会回到起始点,
       碰到黄色的圆形,它会得1分,并且黄色圆形会消失。
    """
    score_bug = Sprite(visible=False,pos=(200,250))
    score_bug.color('cyan')
    car1 = Sprite('res/cyancar.png',pos=(50,0))
    car1.left(90)
    car1.score = 0                              # 自定义属性
    leftkey = Key("a")
    rightkey = Key("d")
    upkey = Key("w")
    downkey = Key("s")
    while True:
        if leftkey.down():car1.left(5)
        if rightkey.down():car1.right(5)
        if upkey.down():car1.fd(5)
        if downkey.down():car1.bk(5)    
        if car1.collidecolor(red,cs):car1.slide((0,50))
        items = car1.overlap_with(coins)
        car1.score += len(items)        
        if items:
            [coin.clearstamp(i) for i in items]
            score_bug.clear()
            score_bug.write(car1.score,font=("",32,"normal"))       
        screen.update()
        
thread2 = Thread(target=cyancarfunc)           # 创建线程2
thread2.start()                                # 启动线程2

PlaySound('Dance Energetic.wav',SND_LOOP|SND_ASYNC)
screen.mainloop()

发表在 python, sprites, turtle | 标签为 , , , , | 留下评论

虫子满屏爬_三bug多线程示例程序浅析

李兴球Python三bug多线程示例程序演示动图

李兴球Python三bug多线程示例程序演示动图

[videojs mp4=”http://qax20r11r.bkt.clouddn.com/final_3bug.mp4″]

想像一下许多虫子在屏幕上爬来爬去的情景吧。用Python实现是完全可以的,我们可以用turtle模块,即海龟画图模块来实现。让海龟的造型为一张图片,不过遗憾地是由于海龟画图不支持图像旋转,所以用这个模块实现就比较难了。当然,你是高手的话可以加入numpy或pillow模块,自己编程去实现。这里用一种简单的方法来实现。它已经帮我们实现好了,我们只要简单地调用即可。这个模块叫Python精灵模块,英文名为sprites。你可以认为sprites模块是turtle模块的凤凰涅磐。它是turtle模块的重大升级版。所以当你用from sprites import *语句导入了所有命令,不要再用from turtle import *命令了。因为后者会覆盖前者的同名命令。

那么如何安装sprites模块呢?用pip install sprites命令即可。现实情况下由于要访问国外的服务器,所以安装速度在某些地方很慢以致于安装不上。所以我们要用cmd打开管理员窗口,用下面的命令进行安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade
上面是从清华大学服务器下载sprites模块,然后安装的,由于从国内服务器下载,所以速度非常快。安装好后,用from sprites import Sprite,Screen语句可以导入Sprite类和Screen函数。然后用Sprite()就能新建一只虫子,假设取名为bug,那么命令如下所示:

from sprite import Sprite,Screen
bug = Sprite()

接下来就可以让bug不断地满屏爬了。简单化一下,来一个while循环。

while True 代码的控制结构。它可以让同组代码不断地重复执行。bug.fd(1)可以让bug前进一个单位,bug.right(1)可以让虫子右转,简写为bug.rt(1),代码变成了像下面这样:

from sprites import Sprite,Screen
bug = Sprite()                # 新建角色,名为bug
while True:                   # 重复执行 
    bug.fd(1)                 # 虫子前进1个单位
    bug.rt(1)                 # 虫子右转1个单位
李兴球Python一只虫子爬

李兴球Python一只虫子爬

上面的程序运行后,就能看到一只虫子爬了。如果要有更多的虫子爬,我们只要新建更多的角色即可。程序变成像下面这样了:

from sprites import Sprite,Screen
​
bug1 = Sprite()        # 新建虫子1
​
bug2 = Sprite()        # 新建虫子2 
bug2.goto(100,100)     # bug2的坐标定位到(100,100)
​
bug3 = Sprite()        # 新建虫子3
bug3.goto(-100,100)    # bug3的坐标定位到(-100,100)  
    
while True:            # 当成立的时候(重复执行)
    
    bug1.fd(1)         # 虫子1前进1个单位
    bug1.rt(1)         # 虫子1向右转1个单位
​
    bug2.fd(1)         # 虫子2前进1个单位
    bug2.rt(1)         # 虫子2向右转1个单位
    
    bug3.fd(1)         # 虫子3前进1个单位
    bug3.lt(1)         # 虫子3向左转1个单位

上面goto命令和海龟画图中的goto命令是一样的,都是定位角色坐标的。

李兴球Python多线程动画

李兴球Python多线程动画

上面的程序是单线程的,只有一个while循环。如果想有几个while循环同时执行的话就要使用多线程编程了。接下来我们导入Thread,用from threading import *即可。我们这里创建三个线程,每个线程的目标函数会创建一个虫子角色,然后通过while循环让名为bug的虫子不断地爬。这个函数就像下面这样:

def myt1():
    bug = Sprite()
    while True:
        bug.fd(1)
        bug.rt(1)

函数定义好了,我们就能用Thread命令来创建线程了,语句如下所示:
thread1 = Thread(target=myt1)
最后,我们只要简单地调用thread1的start方法就能启动这个线程了。

代码如下所示:

thread1.start()

那么创建三个线程,只要定义三个函数,启动三个线程就可以了。最后,多线程虫子爬的代码如下所示:

"""
   三bug多线程示例程序.py
   本程序创建了三个线程,每个线程都会创建一个bug。
   bug定位后会不断地旋转。
   本程序需要Python精灵模块支持,请用cmd命令,打开管理员窗口,
   然后输入以下使命令进行安装:   
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites   --upgrade
​
"""
​
from threading import *
from sprites import Sprite,Screen
​
def myt1():
    bug = Sprite()
    while True:
        bug.fd(1)
        bug.rt(1)
        
def myt2():
    bug = Sprite()
    bug.goto(100,100)
    while True:
        bug.fd(1)
        bug.lt(1)
​
def myt3():
    bug = Sprite()
    bug.goto(-100,100)
    while True:
        bug.fd(1)
        bug.lt(1)
​
screen = Screen()                  # 新建屏幕对象
​
thread1 = Thread(target=myt1)      # 创建一个线程
thread2 = Thread(target=myt2)      # 创建一个线程
thread3 = Thread(target=myt3)      # 创建一个线程
​
thread1.start()                    # 启动线程1
thread2.start()                    # 启动线程2
thread3.start()                    # 启动线程3
​
screen.mainloop()
​

​更高级的编程方法是可以创建一个Bug类。它继承自Sprite类。​当Bug生成后会自动创建一个线程,自己爬。不过这已经超出本篇论述范围,高级读者可以尝试自行完成。

​使用Python精灵模块能非常简单的创建动画与游戏,更多Python创意/示例源或作品与教程请打开李兴球博客 www.lixingqiu.com

 

发表在 python, sprites, 视频教程 | 标签为 , | 留下评论

《Python海龟宝典》原名《Python创意编程200例turtle篇》

《Python创意编程200例turtle篇》已正式更名为 《Python海龟宝典》。以下是简介:

海龟变身孙悟空,迷宫寻宝讲相声! 哪吒妙用孙子兵法,世界名人尽赞之。忍者品德好,遇见合金弹头主角时怦然心动了,赠送了他花框音乐盒。 生机勃勃的农场孕育了漂亮的二叉分形树。超级玛丽玩起坦克大战还邀请解放军一起击落外星木马战队。可爱的金币天使朗诵起了秋天的诗句还玩着用Python的海龟画图模块制作的3D物理互碰弹球。 奥特曼原来很喜欢玩跳跃方块游戏和星际赛车游戏啊。后羿射日之前在干什么呢?原来他和神笔马良在研究如何让画的画儿动起来。大鱼已经不喜欢吃小鱼了,它要参与保卫公主行动。 针眼画师忙着描绘三体世界,连老鼠过街也不闻不问了。在英雄的黎明,猴子们穿起了衣服和小女孩一起跳舞。雪花飞舞的日子敌机倾巢而出,竟然有仙女送来月饼! 奔跑的小猫咪抬眼望星空,只见昨夜星辰的北斗七星正连线。月球变成单摆砸到了正在玩打地鼠游戏的小海龟。秋日的私语可不能告诉别人,那就是,我要送你一束火红的鲜花。

《Python海龟宝典》是李兴球原创的由Python海龟画图模块编制作精选作品集合。李兴球对海龟画图模块做了深入的研究。这些年用它做了很多作品都存在自己电脑中,大部分发在了博客里。在这个集合里的作品整合了各门学科的知识内容。如历史、天文、国学、游戏、音乐艺术、课件、数学几何、编程技巧、绘画艺术甚至自编相声与诗词等。上面所写的文字是由部分题目所串烧的一段文字。
本人正在做最新的编撰工作,如果你赞助本人必将获益不少。

李兴球Python创意编程海龟宝典

李兴球Python创意编程海龟宝典


以下是待编撰入《Python海龟宝典的》案例目录,最终成书可能会变动,以最终为准。
Python海龟宝典案例集目录预览

Python海龟宝典案例集目录预览

发表在 python, turtle | 标签为 , , | 留下评论

继承Turtle类的随机移动的地球

李兴球Python继承自Turtle类随机移动的地球

李兴球Python继承自Turtle类随机移动的地球


地球挣脱了太阳的束缚,发疯了,人类早就彻底灭亡了?以下是完整源代码。本程序面向有一定Python基础的人士阅读,至少要学过面向对象编程的继承。

"""
   继承自Turtle类的碰到边缘有会反弹随机移动的球.
"""
from turtle import *
from random import randint
from time import sleep

class Ranger(Turtle):
    def __init__(self,image,x,y):
        Turtle.__init__(self,shape = image,visible=False)
        self.penup()
        self.screen_width = self.screen.window_width()
        self.screen_height = self.screen.window_height()
        self.xspeed = randint(-10,10)
        self.yspeed = randint(-10,10)
        self.dead = False
        self.timecounter = 0              # 延迟计数器
        self.timeamount = 3               #  总共延迟时间
        self.goto(x,y)
        self.onclick(self.hide)
        self.setheading(randint(1,360))
        self.st()
        self.move()
        
    def move(self):
        if not self.dead:
            if randint(1,30) == 1 : self.set_random_heading()
            self.setx( self.xcor() + self.xspeed)
            self.sety( self.ycor() + self.yspeed)
            x = self.xcor()
            y =  self.ycor()       
            if abs(x) > self.screen_width//2 - 50:
                self.xspeed = - self.xspeed
                
            if abs(y) > self.screen_height//2 - 50:
                self.yspeed = - self.yspeed
            self.screen.ontimer(self.move,10)

    def hide(self,x,y):
        """隐藏自己"""       
        self.dead = True           
        
    def set_random_heading(self):
        """随机设定水平速度和垂直速度"""
        self.xspeed = randint(-10,10)
        self.yspeed = randint(-10,10)      
        

if __name__ == "__main__":

    screen = Screen()
    screen.bgpic('太空.png')
    screen.title(' 继承自Turtle类的碰到边缘有会反弹随机移动的球')
    screen.delay(0)
    image = "星球\\0.gif"
    screen.addshape(image)
    r = Ranger(image,0,100)
    screen.mainloop()
    
            
        

发表在 python, turtle | 标签为 , , | 留下评论

pygame使用tkinter列表框双击播放视频源码

"""
   pygame使用tkinter列表框双击播放视频,
   本程序会搜索当前目录下的mp4视频文件,
   把它们放在tkinter的listbox中,双击选中的视频后会调用pygame窗口播放.
   
"""
import pygame
import tkinter as tk
from glob import glob
from moviepy.editor import *
 
def launch(movie):
    # root.destroy()
    pygame.display.set_caption('pygame视频播放器')
    clip = VideoFileClip(movie)
    clip.preview()
    pygame.quit()
 
 
root = tk.Tk()
root.geometry("400x300")
root.title("双击播放视频")
x = tk.StringVar(value=[m for m in glob("*.mp4")])
 
videolist = tk.Listbox(root, listvariable=x)               # 新建列表框
videolist.pack(fill="both", expand=1)
# 下面是绑定双击事件到选中的视频
videolist.bind("", lambda x: launch(videolist.get(videolist.curselection())))
 
root.mainloop()

发表在 pygame, python, tkinter | 标签为 , , , | 留下评论

用pygame6行代码实现一个最小的视频播放器

"""
   本程序用pygame模块和moviepy模块实现一个最小的视频播放器mini video player
"""
import pygame
from moviepy.editor import *
 
pygame.display.set_caption('最小的视频播放器 www.lixingqiu.com')

clip = VideoFileClip('风火轮编程宣传视频.mp4')        # 打开视频剪辑
clip.preview()                                        # 在pygame中演示
 
pygame.quit()                                         # 退出pygame

发表在 pygame, python | 标签为 , , , , | 留下评论

三bug多线程示例程序

李兴球Python三bug多线程示例程序演示动图

李兴球Python三bug多线程示例程序演示动图

 

本程序需要python精灵模块支持,需要安装请在运行对话框输入cmd,然后输入以下命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites –upgrade
以下是完整源代码:

 

"""
   三bug多线程示例程序.py
   本程序创建了三个线程,每个线程都会创建一个bug。
   bug定位后会不断地旋转。
"""

from threading import *
from sprites import Sprite,Screen

def myt1():
    bug = Sprite()
    while True:
        bug.fd(1)
        bug.rt(1)
        
def myt2():
    bug = Sprite()
    bug.goto(100,100)
    while True:
        bug.fd(1)
        bug.lt(1)

def myt3():
    bug = Sprite()
    bug.goto(-100,100)
    while True:
        bug.fd(1)
        bug.lt(1)

screen = Screen()

thread1 = Thread(target=myt1)      # 创建一个线程
thread2 = Thread(target=myt2)      # 创建一个线程
thread3 = Thread(target=myt3)      # 创建一个线程

thread1.start()                    # 启动线程1
thread2.start()                    # 启动线程2
thread3.start()                    # 启动线程3  

screen.mainloop()

发表在 python, sprites, turtle | 标签为 , , | 三bug多线程示例程序已关闭评论

《少儿Python课程A级视频课程》

风火轮编程少儿PythonA级海报

风火轮编程少儿PythonA级海报

《少儿Python课程A级》简介:

《少儿Python课程A级》是风火轮编程于2020年疫情期间全新开发的,为10岁以上少儿制作的入门级别课程。

本课程主要的内容有Python的基本数据类型(整型/浮点型/布尔型/逻辑型)、while循环与计数器、range命令与for循环及迭代、if条件判断语句、对字符串、列表和元组进行了入门。还对一些常见的命令如abs,divmod,sum,max,min进行了介绍。对Python海龟画图也进行了入门。包括内容有:坐标与方向及海龟的一些基本命令,如克隆、图章、write命令。

本课程有着丰富多彩的创意案例以供学习,绝大部分课程都有布置多个练习与作业。开发者还对蓝桥杯与青少儿编程等级考试题目及计算机二级Python试题进行了研究。所以本课程里面还有一些它们的习题与练习及简单算法,如简易信息管理系统、随机模块创意例子、猜数游戏等等。

本套课程共计50个视频及源码与素材及教学大纲思维导图。
包括练习讲解,考试等占用的课时,本课程最多可提供100个以上的课时(9到10岁),年龄大的学生可加快学习进度,当然就提供不了这么多课时了。后面的创意小案例是选学内容。

以下每项课程单击可直接购买,每课为36元。这里提供整套打包下载,直接为原始视频、源码与素材等,价格更为优惠哦.

《少儿Python课程A级》课程目录:

《少儿Python课程A级》教学大纲:

少儿Python初级教学大纲

少儿Python初级教学大纲

以下是《少儿Python课程A级》前十课的文件夹预览:

 
需要整套课程请

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

发表在 python, turtle, 视频教程 | 标签为 , , | 《少儿Python课程A级视频课程》已关闭评论

哪吒学Python启蒙篇_含电子版源码和素材及电子版幻灯片

nezha study python initiation 哪吒学Python启蒙篇

nezha study python initiation 哪吒学Python启蒙篇

哪吒学Python启蒙篇是风火轮编内部的Python教学资料。有需要的机构/人士可以购买。这里提供的是含电子版源码和素材及电子版幻灯片的资源,仅用于学习目的。

资源目录:

第1节: 初识计算机 ……………………. 4
第2节: 编程简介 ……………………. 9
第3节: 从IDLE开始 ……………………. 14
第4节: 整型和字符串变量 ……………………. 21
第5节: 浮点数与逻辑变量 ……………………. 26
第6节: 列表初体验 ……………………. 30
第7节: 赋值与累加 ……………………. 33
第8节: 循环初探索 ……………………. 35
第9节: 海龟编程 ……………………. 41
第10节: 忍者出世 ……………………. 45
第11节: 星号阵列 ……………………. 50
第12节: 如意金箍棒 ……………………. 52
第13节: 竹子问题 ……………………. 57
第14节: 正多边形的秘密 ……………………. 59
第15节: 漂亮的花圈 ……………………. 65
第16节: 真假小海龟 ……………………. 69
第17节: 变量有个身份证 ……………………. 75
第18节: 贪吃蛇前传 ……………………. 78
第19节: 十面埋伏 ……………………. 82
第20节: 红色的领结 ……………………. 86
第21节: 会写汉字的海龟 ……………………. 90
第22节: 彩色汉字方阵 ……………………. 95
第23节: 坐标与随机数 ……………………. 100
第24节: 犹豫的海龟 ……………………. 107
第25节: 画地为牢有必要 ……………………. 111
第26节: 年年岁岁花相似 ……………………. 116
第27节: 会画格子的海龟 ……………………. 120
第28节: 九九乘法表 ……………………. 122
第29节: 彩色螺旋图 ……………………. 126
第30节: 满城尽带黄金甲 ……………………. 131
第31节: 总结与回顾一 ……………………. 133
第32节: 总结与回顾二 ……………………. 133
选学案例1: 八字彩环 ……………………. 137
选学案例2: 滚动的字幕 ……………………. 138
选学案例3: 嵌套彩色正方形 ……………………. 140
选学案例4: 天上彩虹图 ……………………. 142
选学案例5: 蓝色的莲花 ……………………. 144
选学案例6: 鱼儿水中游 ……………………. 148

详细说明请见网页:http://www.scratch8.net/nezha_0.php

 

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

发表在 python, turtle | 标签为 , , | 哪吒学Python启蒙篇_含电子版源码和素材及电子版幻灯片已关闭评论

哪吒学Python初级篇_含电子版源码和素材及电子版

nezha study python primary 哪吒学Python初级篇

nezha study python primary 哪吒学Python初级篇

哪吒学Python初级篇是风火轮编内部的Python教学资料。有需要的机构/人士可以购买。这里提供的是含电子版源码和素材及电子版幻灯片的资源,仅用于学习目的。

资源目录:

第1节: 彩点实验奥妙多 ……………………. 4
第2节: 棒棒糖送你和我 ……………………. 9
第3节: 编程就像搭积木一 ……………………. 14
第4节: 编程就像搭积木二 ……………………. 19
第5节: 逻辑世界真精彩 ……………………. 23
第6节: 多啦A梦的猜想 ……………………. 29
第7节: 文件的故事说不完 ……………………. 31
第8节: 操作系统模块 ……………………. 34
第9节: 命令行参数 ……………………. 38
第10节: 图像大小批处理 ……………………. 44
第11节: 异常处理 ……………………. 49
第12节: 迪迦奥特曼动画演示 ……………………. 53
第13节: 店小二的菜单一 ……………………. 59
第14节: 店小二的菜单二 ……………………. 63
第15节: 字符串常用方法 ……………………. 66
第16节: 序列的切片 ……………………. 74
第17节: 小女孩的舞蹈 ……………………. 77
第18节: 旋转雪花 ……………………. 82
第19节: 女孩的自我介绍 ……………………. 86
第20节: 家乡的自我介绍 ……………………. 90
第21节: 人人都有好功夫 ……………………. 95
第22节: 遍历字典方法多 ……………………. 101
第23节: 龙生九子,各不相同 ……………………. 105
第24节: 统计英文单词频率 ……………………. 110
第25节: 伦敦之眼动态贺卡 ……………………. 114
第26节: 新闻联播字幕动画 ……………………. 118
第27节: 龟兔赛跑多媒体动画 ……………………. 121
第28节: 土耳其进行曲配音动画 ……………………. 125
第29节: 神笔马良_会转动的轮子 ……………………. 130
第30节: 序列化和反序列化 ……………………. 131
第31节: 总结与回顾一 ……………………. 138
第32节: 总结与回顾二 ……………………. 138
选学案例1: 猜数小游戏 ……………………. 143
选学案例2: 红太阳 ……………………. 146
选学案例3: 八彩扇形图 ……………………. 148
选学案例4: 天上彩虹图 ……………………. 142
选学案例5: 自动出题器 ……………………. 150
选学案例6: 格子色板 ……………………. 153
选学案例7: 超级小猫 ……………………. 155
选学案例8: 春晓多媒体语文课件 ……………………. 157
选学案例9: 八仙过海动画 ……………………. 160
选学案例10: json模块 ……………………. 162

详细说明请见网页:http://www.scratch8.net/nezha_1.php

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

发表在 python, turtle | 标签为 , , | 哪吒学Python初级篇_含电子版源码和素材及电子版已关闭评论

哪吒学Python进阶篇_含电子版源码和素材及电子版

nezha study python advance 哪吒学Python进阶篇

nezha study python advance 哪吒学Python进阶篇

哪吒学Python进阶篇是风火轮编内部的Python教学资料。有需要的机构/人士可以购买。这里提供的是含电子版源码和素材及电子版幻灯片的资源,仅用于学习目的。

资源目录:

 

第1节: 有趣的动画(拆帧实验) ……………………. 4
第2节: 颜色渐变探密 ……………………. 9
第3节: 数据分析初探 ……………………. 16
第4节: 数据可视化启蒙 ……………………. 23
第5节: 逍遥游之鲲鹏展翅 ……………………. 27
第6节: 数字时钟 ……………………. 31
第7节: 从前有座山(递归) ……………………. 35
第8节: 矩形抽象画 ……………………. 40
第9节: 彩色方块世界 ……………………. 46
第10节: 散开的小球 ……………………. 51
第11节: 可视化编程探秘 ……………………. 53
第12节: 孙悟空的72变 ……………………. 59
第13节: 多彩弹球一 ……………………. 63
第14节: 多彩弹球二 ……………………. 66
第15节: 物以类聚总相宜 ……………………. 71
第16节: 可移动的矩形 ……………………. 78
第17节: 太阳花丛中的蝴蝶 ……………………. 83
第18节: 原地踏步的狗 ……………………. 87
第19节: 昨夜星辰 ……………………. 92
第20节: 多彩弹球三 ……………………. 98
第21节: 拦球小游戏 ……………………. 101
第22节: 打砖块小游戏 ……………………. 109
第23节: 斜风细雨不须归 ……………………. 118
第24节: 道法不同殊同归 ……………………. 121
第25节: 星空单词记忆游戏_核心 ……………………. 124
第26节: 星空单词记忆游戏_拓展 ……………………. 132
第27节: 最简音乐播放器 ……………………. 138
第28节: 砸蛋小游戏 ……………………. 143
第29节: 水波纹模拟一 ……………………. 150
第30节: 水波纹模拟二 ……………………. 156
第31节: 总结与回顾 ……………………. 160
第32节: 会跳跃的三角形 ……………………. 164
选学案例1: 模拟圆形时钟 ……………………. 170
选学案例2: 百度新闻首页采集器 ……………………. 174
选学案例3: 白桦林的故事 ……………………. 176
选学案例4: 翻转格子 ……………………. 184
选学案例5: 面朝大海春暖花开 ……………………. 187

详细说明请见网页:http://www.scratch8.net/nezha_2.php

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

发表在 python, turtle | 标签为 , | 哪吒学Python进阶篇_含电子版源码和素材及电子版已关闭评论

Python创意编程Pygame教程_含电子版源码和素材及电子版

python pygame creative idea tutorial python创意编程pygame教程

python pygame creative idea tutorial
python创意编程pygame教程

Python创意编程Pygame教程是风火轮编内部的Python教学资料。有需要的机构/人士可以购买。这里提供的是含电子版源码和素材及电子版幻灯片的资源,仅用于学习目的。

pygame创意编程教程 资源目录:

第1节:孙悟空的72变

…………………….

6
第2节:Pygame简介与RGB三元色

…………………….

9
第3节:Pygame的矩形对象与圆弧

…………………….

13
第4节:其它draw系列命令

…………………….

18
第5节:矩形对象的移动方法

…………………….

22
第6节:矩形对象的碰撞原理与方法

…………………….

28
第7节:surface与图像处理

…………………….

36
第8节:Pygame的事件处理

…………………….

40
第9节:键盘与鼠标事件处理

…………………….

45
第10节:colorkey与透明度

…………………….

50
第11节:颜色渐变探秘

…………………….

55
第12节:旋转图形与Sprite类

…………………….

59
第13节:缩放翻转与拖动图形

…………………….

64
第14节:字体对象与简易封面

…………………….

70
第15节:fps与时钟对象

…………………….

77
第16节:定时器事件

…………………….

83
第17节:遮罩的本质

…………………….

87
第18节:迷宫游戏示例

…………………….

95
第19节:音乐播放器原理

…………………….

99
第20节:Sprite类与Group类

…………………….

103
第21节:模块化编程与拦球动画

…………………….

110
第22节:完整的碰彩球游戏

…………………….

115
第23节:酷酷的爆炸效果

…………………….

124
第24节:电子菜单制作

…………………….

131
第25节:盒子里的弹球世界

…………………….

137
第26节:滚动的背景

…………………….

144
第27节:朝向鼠标指针向前进

…………………….

148
第28节:行走的角色类

…………………….

153
第29节:中途岛海战椭圆阵列敌机

…………………….

159
第30节:多关卡示例程序

…………………….

164
第31节:刮刮乐趣味小游戏

…………………….

170
第32节:灭霸的宝石

…………………….

174
第33节:李白与杜甫斗诗

…………………….

183
第34节:勇闯黑暗迷宫

…………………….

193
第35节:gif动图播放模块

…………………….

201
第36节:星汉灿烂

…………………….

207

详细说明请见网页:
http://www.scratch8.net/python_pygame.php

 

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

发表在 pygame, python | 标签为 | Python创意编程Pygame教程_含电子版源码和素材及电子版已关闭评论

Python创意编程视频课55课全套含素材源码mp4视频

只为兴趣而生,兴趣是最好的老师,你学的可不仅仅是编程!Python创意编程视频课,是风火轮编程以前瞻性的眼光开发的,以兴趣为导向,不需要编程基础,适合于小学高年级以上学生学习的Python视频课程。

具体的代码是会变化的,但主要的思想则不变。基于这个原则,中小学生学习编程的目的并不是死记硬背地学习一些具体的死的知识。这些知识都是人为定义的,死记硬背没有必要。本课程的学习原则不在于仔细理解Python代码中每一行代码的详细意思,而在于理解每个作品的主体思想与框架。力图从宏观上理解编程的基本原理,这才是适合于任何计算机语言的核心。

在这套课程中,每个案例基本上没有前后承接与难易关系,都是独立的,但是推荐还是从第一课开始学习。每课包括python源代码,音乐素材,图片素材,简介,视频观看网址及密码等文件。本套课程融入音乐、生物与环保、Python哲学、天文地理、历史、诗词、数学、物理、国学、编程知识、游戏与动画原理等,是培养对编程的兴趣不错的课程。推荐小学高年级以上学生在老师带领下学习,最适合于中学生及以上人员自学。其它应用场景,如公立学校与培训机构Python体验课等。

创意设计、配音设计、代码编写、课程录制、音视频编辑、课程答疑皆为李兴球,可提供全面的课程辅导与技术支持,微信号:scratch8,email:406273900@qq.com。如需要修改视频logo等订制需求,请联系本人。

单独购买每课的价格为80元,共55课, 需要55课整套可打5折(80×55=4400,打5折后¥2200),付款或者直接联系微信scratch8付款即可购买。单击下面每个链接可查看详情。

第一课:夜幕下的霓虹

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

第二课:原地踏步猫(体验动画)

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

第三课:偷功配音动画

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

第四课:我是追梦人(画笔write)

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

第五课:花框音乐盒_教学版

花儿,音乐,Python,编程…
我们学的不是编程,我们是在玩,玩有趣的事情。
人生几何,听从自己内心的安排,和我一起学Python。
让我带你进入一个多姿多彩的Python世界。从此和枯燥say good-bye!

第六课:高兴的小和尚(变量与计数器)

一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝。
小和尚愁眉苦脸的敲着木鱼,快来帮帮他吧。
代码很少,小菜一碟,味道十足,不要莲花仙,不要桃花香,只把Python学。

第七课:助人为乐帮蜗牛(方向)

葡萄树下有蜗牛,想吃葡萄离太远。
学习雷锋好榜样,编写程序帮蜗牛!
这个程序里涉及了方向和for循环等知识,
回味一下童年吧,哦,或许你现在正是一个少年!

第八课:敢问路在何方

敢问路在何方,路就在脚下,在这个大数据时代,Python才是王道!
Python编程告诉你,优美胜于丑陋,明了胜于晦涩,简洁胜于复杂!
本课主要普及一下路径的知识。
还要学习程序的当前工作目录的概念,以及如何获取与改变当前工作目录。
程序的当前工作目录默认为它所在的文件夹的路径。
还要顺便学习一下pip命令的用法。pip命令是用于安装Python外置模块的命令。

第九课:虫子的小伙伴(coloradd)

小虫子有一个小伙伴,在它的陪伴下,小虫子把才能发挥到了极致。
这个小伙伴到底是何方神圣呢?
一般人我是不会告诉他的,加我微信scratch8,我来帮助你!

第十课:久有凌云志

久有凌云志,重上井冈山! 一起学编程,
再回首,弹指一挥间,旧人变新人,世上无难事,只要肯登攀。
虫子学了新本领,就看你怎么指挥它。

第十一课:弟子规之余力学文

当当当,弟子规,非圣书,不要看,圣与贤,皆不是天生!
余力要学文,我生要编程,编程要实践,实践出真知,真知要分享!
在这纷纷扰扰的时代,你能看的清楚吗?

第十二课:怦然心动

申明:
本作品配音太过真实,有心脏病者请勿运行本程序!
要不然小心的你心儿跳出来! 本人概不负责!
这个程序演示了while循环和for循环。

第十三课:勤劳的小蜜蜂(随机)

一只小蜜蜂啊,为了甜蜜蜜呀,飞到花丛中啊,其中的快乐只有它懂啊…
我们学编程啊,天天写代码啊,沉浸在其中呀,其中的快乐只有自己懂呀…
飞呀,飞呀,飞呀,编程让你飞呀,飞呀,飞呀….

第十四课:鼠小弟的本领(表达式)

鼠年到,跟小鼠学Python喽。
聪明的小老鼠让你按1或2或3,
这到底是怎么回事呢?答案远在天边,近在眼前!

第十五课:春眠不觉晓(动态背景)

春天要来了,万物要觉晓,先知荐你学编程,编程首选我派森。
学好了Python,下一个先知就是你!

第十六课:门前大桥下(坐标)

为什么在这个程序中的门前大桥下只游过一只鸭呢?
还有传说中的老爷爷和小孩也没看见。这是怎么回事?

第十七课:倩女离魂(alpha)

按空格键会让美女的灵魂出窍,大佬,你还是别按吧,只看看代码就行了。

第十八课:梦幻水族馆(bounce与概率)

绝妙的配音,欢快的鱼儿,可是它们总也逃不出玻璃框框!
而我们,被束缚的更紧,当我们得到某方面的自由,同时也得到了更多的不自由。
Oh my god,你是在写作品简介,还是要写人生呀!

第十九课:旋转的文字(txt2image)

风风火火学编程,旋转文字有名堂!
旋转的文字是假象,旋转的其实是图像!

第二十课:虫子的秘密(函数初体验)

虫子很小,本领很大,能飞,能跑能走能跳,还能入水。
在这个程序中,虫子有什么本领呢?这要你自己去发掘喽!

第二十一课:月儿弯弯照九州(stamp)

月儿弯弯照九州,星光闪闪耀神州,我用Python绘世界,你用编程描宇宙。
简单的一个Python程序,背后藏着不简单的内涵。抽丝剥茧的任务交给你了,我先玩玩。

第二十二课:生日快乐贺卡(while)

这个世界上本来没有你,但后来有了你,这是奇迹啊!
所以当你过生日时,一定要记得打开这个程序,祝自己生日快乐!

第二十三课:观沧海多媒体动画

广袤无垠的星空,蕴藏着无限的未知。人类在宇宙的时空中,只不过一粒尘埃,
然而,有人还是留下了自己的足迹,曹操就是其中之一。这个作品显示了动画星空效果,
然后逐渐把曹操的诗《观沧海》显示出来。本作品最妙之处在于动画与配音完美的结合。

第二十四课:一马当先(range)

咱学的不是Python,咱还要听听世界名曲是不?
不仅如此,我们还要一马当先,争当冠军,把别人抛地远远的。
问题是,你让别人情以何堪,世界会变得更忙!
为了世界和谐,请藏起你的“锋芒”,跑慢一点哟。
我可是想多睡点觉,多点闲。

第二十五课:向后滚动背景(横版动画)

一架飞机在昏暗的傍晚中穿行着,它要去哪儿?
没有目标,也没有终点,因为这只不过是一个交互演示程序。
然而,就是这个简单的程序,有人却对它继续编程,
终于,把这个程序发展成了一个有趣的程序。
我知道,这个人就是你啦!

第二十六课:精卫填海(求余应用)

夸父要追日,精卫要填海,这些都不现实,
编程学Python,代码整整齐,这才是现实,
本作品展示了精卫鸟衔石头扔海里的配音动画。

第二十七课:青青河边草(自动截屏)

每个人都有自己的故事,我相信加工一下都是不错的故事。
Python的故事正在上演,请看《青青河边草》这个程序。
它又会演绎怎么样的故事呢?

第二十八课:昨夜星辰

昨夜星辰昨夜风,编程功夫要练深。明夜星空银河上,与君共饮银河水。
本作品是一个多媒体动画。它又会教给我们什么新的知识呢?
good good study,day day up!

第二十九课:光的反射定律演示(内置造型)

有一天,光子小姐来到了月亮,然后她又离开了月亮。
她自言自语地说,月球什么也没有,我还是向往星空,我要去寻找雅典娜和她一起玩!
请问,光子小姐和月亮碰撞的时候用的是什么定律?

第三十课:未来可期之星辰大海(file)

2070年,人类的生命科学基因技术大发展。
每个人的器官,除了大脑,都可以更换了,让人类的寿命大大延长。
地球人类人口爆增,地球只是做为了人类的摇篮。
人类已经在外星球撒播了智慧的种子,有相当多的人类直接在外星球诞生。
平凡之下,暗流涌动,不随波逐流,跟我一起去太空流浪,wonderful!
未来可期! 我们的征途在星辰大海!

第三十一课:诗韵竹林_自动演示版(txt4image)

诗韵竹林,Python编程大军中的创意派。
扣人心弦的二胡曲,让诗来描述绿荫竹林。
在阳光灿烂日子,暂且不要编程,扒开云雾,一起去竹林感受生活吧。

第三十二课:将进酒_君不见(逐字效果)

一只小虫子在慢慢地写一首诗。它从上到下,从左到右,不一会儿就写完了。
这只小虫子是在程序的驱动下移动的,这种程序的名字叫Python。

第三十三课:一剪梅(歌词)

一天,派森先生向我诉苦说,别人都用我来做数据挖掘、人工智能、大数据啥的。
可是有一个人却总用我来做些小儿科。什么小游戏啊,小动画啊,MV呀,课件呀,
还有啥数学、物理、国学、诗词、地理、历史、生物生态学全放进去。
这不,今天又把《一剪梅》给弄出来了,我还以为是李清照的那首词呢?
谁知道是一部电视剧的主题曲。知识倒是长了不少,可就是怎么觉得有点不对劲呢?
我说,世事洞明皆学问,汝果欲学诗,功夫在诗外,雪花飘飘,北风萧萧,天地间一片苍茫的代码….

第三十四课:颤抖的图章(particle effect)

世界上本来没有这个程序,但是现在却有了这个程序。背后隐藏的力量是什么让粒子颤抖起来了?
君请看粒子效果演示程序《颤抖的图章》。

第三十五课:粉红房间(lambda)

女孩的心思你别猜测,女生的房间你别进。要是进了,那就要帮忙清理垃圾。
这个动感活力小清新Python小程序代码优雅整齐,符合Python哲学,乃极品也。

第三十六课:外来和尚会念经(jieba,xlrd)

外来和尚会念经,解决问题要救兵。Python的第三方模块数量庞大,
有些模块也非常优秀,本课就是学习如何安装及使用第三方模块的。

第三十七课:灭霸的宝石(game)

宇宙超级无敌BOSS灭霸也需要几颗原石才能完成他拯救宇宙的目标。
在这个游戏中,灭霸被鼠标指针给操作了,成了一个小傀儡。
难道灭霸真的是你永远的小傀儡吗?接完宝石后,灭霸会有怎么样的行为?
这一切都得靠你了!编程之路漫漫,而其修远兮,你将上下而求索?

第三十八课:黑脉金斑蝶(local)

天地玄黄,宇宙洪荒。从古到今,太阳之光,催生万物。我相信,宇宙不止一个地球。
我相信,其它的地球同样有着众多的小精灵。 就像我们人类有能力在别的星球上创造一个文明,
而在暗中观察这个文明的发展一样。宇宙中其它类地球的文明不造访我们的目的其实是在保护我们。
让我们自由发展,他们一直在观察着我们。我们以为自己是上帝,但上帝之上,还有上帝。
对于小小的蝴蝶,我们也要保护它们,它们和我们一样是地球中平等的成员。
阅读这个Python作品,聆听这首扣人心弦地背景音乐,想像蝴蝶们的万里迁徙。
它们,不仅仅是虫子的浴火重生。它们也是地球小小的一面镜子。生态保护,刻不容缓!

第三十九课:雪的梦幻(costume)

雪,带给我们的是宁静和纯洁,白色总是纯洁的象征,而雪带给我们的却不仅仅如此。那种安宁,让心里的思绪激不起一丝涟漪。
编程,会带给我们什么呢?这就得看你编的什么程。而编的什么程,又和个人学识、工作、性格、修养与社会环境有莫大关系。
打开这个Python作品,聆听《雪的梦幻》。它在告诉你,生活,不需要这么快,即要赚点钱,还要赚些闲。
要不然赚的钱没有闲时光来花,岂不是白白忙一场?本程序演示了如何自定义角色造型,当然,你学的不仅仅是个程序。

第四十课:算术虫子(say)

会做算术的虫子,不过有时候这只虫子出的算术题是错的,这个时候就不要去单击它哦。
否则就得不到分数做为奖励了。

第四十一课:黑猫警长的射击(key)

神勇威武的黑猫警长要练枪法了!按空格键,子弹会移到枪口射出。
相信老鼠们听到子弹声就会被吓得魂飞魄散了。这个程序主要学习按键检测!

第四十二课:无形的盒子(bbox)

无形的盒子,有形的碰撞检测。矩形碰撞的基本原理就是判断两个矩形有没有重叠。
每个角色都有包围它的最小矩形,在本程序中,我们要学习什么是绑定盒子这个概念。

第四十三课:虫子的柱状图(comprehension)

虫子一溜烟的功夫就画了一些柱状图,五颜六色的,并且代码才13行。
这都归功于一颗甜蜜的‘语法糖’配上一个‘强大的’画矩形函数。
想知道代码到底是怎么编写的,可以加我微信scratch8哦。

第四十四课:天空飞来鸽子(3D模拟)

湛蓝的天空飞来一只鸽子。它最终悬停在甲板上方,这个时候小猫走过来了。
它喵地一声,向鸽子发出了你好的话语。鸽子听了也回了一句。
这个小作品的特色是模拟了一点3D效果!

第四十五课:史上最难太空移球(查找重叠)

在浩瀚的互联网中,海量的信息让人们无所适从。不过,在这个小游戏中,目标还是很明确的。
只要操作小球移到屏幕最左边即可。当然,没有这么容易的哦。这是由于小球有惯性!

第四十六课:无限隧道闯关游戏

前面有危险重重的关卡,祝你一路顺风,否则你会死得很惨。
还有更重要的是关卡是无限的,所以你注定要死或者关闭这个游戏,哈哈哈。

第四十七课:勇闯黑暗迷宫

小球球有大智慧,纵使完全看不见前方的路,但它仍有可能找到花朵。
可是这大智慧要你来赋予!这是一个瞬间记忆游戏,记住迷宫的布局!
在伸手不见五指的漆黑之夜按上下左右键头操作小球去碰到花朵吧。

第四十八课:吃豆小虫

古有吃豆小人,今有吃豆小虫。皆为程序代码,今之吃豆小虫,乃派森之程序。
运行此程序,按上下左右箭操作小虫即可吃豆。吃完所有豆豆,显示Game over。

第四十九课:顶重力弹球游戏

这个游戏可以用鼠标指针去顶弹球,顶到一次就会得分。
只有10秒的游戏时间,看看你能得到多少分哦。

第五十课:AI自动打砖块游戏

AI就是人工智能的简称。这是一个无人参与游戏,游戏玩家是计算机本身。
在轻快的背景音乐下,计算机玩得可嗨了。我们人类成了旁观者。
在越来越多的行业,人类是不是也要成为旁观者呢?
小小打砖块,蕴涵大智慧,未来属于有灵魂的人工智能!

第五十一课:幸运大转盘

佛祖说,一切皆幻象。那么在这个游戏中,一切所皆幻象,这是由于它们都是画出来的。
动画的一个基本原理就是不断地擦除与重画,欺骗眼睛,让我们觉得动起来了。
幸运大转盘这个游戏将会带给你一个迷离的编程世界!

第五十二课:雷电射击飞行阵列

 

本程序演示的是一些飞机以排山倒海之势从屏幕的上方不断地移到下方,如此重复。
有些奇怪的时,在这个作品中只有一个角色,但为什么会有这么多的飞机呢?

第五十三课:雷电射击游戏_精灵模块简版

扬帆出征!志在必得,充满激情的雷电射击大战是一个经典的街机游戏。你玩过吗?
这里用基于Python海龟画图的sprites模块制作了一下。
在这个游戏中,我们用awsd操作飞机,按j键发射子弹去击爆成千上万的敌机,
然而,游戏中的角色基本不超过10个,但是看起来有成千上万的敌机大军呢?
打开源码或观看视频,发现秘密!更多Python创意源代码,百度一下李兴球。

第五十四课:自制画图板(menu)

自制画板这个游戏是一个演示如何给屏幕添加/配置/删除右键菜单的演示程序。
这不是好玩有趣的游戏,也没有动人心弦或激情飞扬的背景音乐。
但是,有你这么热爱Python编程的人,世界将会变得不同了!

第五十五课:拦球乒乓小游戏

用最简单的代码,制作一个Python拦球游戏。
本课需要有一点点Python基础,至少学过Python海龟画图。
课程目标,理解最简单的碰撞原理。学习如何用Python精灵模块编制程序。

 

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

发表在 arcade, pygame, python, sprites, turtle, 视频教程 | 标签为 , , | Python创意编程视频课55课全套含素材源码mp4视频已关闭评论

Python创意编程课055_拦球乒乓小游戏

李兴球Python拦球游戏反弹原理

李兴球Python拦球游戏反弹原理

用最简单的代码,制作一个Python拦球游戏。
本课需要有一点点Python基础,至少学过Python海龟画图。
课程目标,理解最简单的碰撞原理。学习如何用Python精灵模块编制程序。

 

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

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

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

发表在 python, sprites, turtle, 视频教程 | 标签为 , , , | Python创意编程课055_拦球乒乓小游戏已关闭评论