观看视频
内容介绍- 本次课将通过示例来复习:
- pygame游戏开发的总体结构
- while、for循环
- if条件语句
- rect对象的移动
- 学习键盘事件的处理
事件说明
示例1:
i = 1
while i <= 5:
print("current number: %d" % i)
上面示例是一个无限循环,因为,i <= 5 这个条件的值总是True,要避免无限循环,就需要让while语句的条件的值为False,因此,需要这样更改:
i = 1
while i <= 5:
print("current number: %d" % i)
i = i + 1 #或者:i +=1
示例2:
下面的示例是,只有当输入的值为e时结束循环
str = input("请输入一个字符: ")
while str != 'e':
str = input("请输入一个字符: ")
print("Game Over! ")
for循环
为序列(或其他可迭代对象)中每个元素执行代码块。我们已经学过的有:list、tuple、string
示例3
list1 = [1,3,5]
tuple1 = (2, 4, 6)
str = 'bird.'
for e in list1:
print(e)
print('-'*10)
for e in tuple1:
print(e)
print('-'*10)
for e in str:
print(e)
关于range函数:
>>> range(0, 10) range(0, 10) >>> list(range(0, 10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> tuple(range(0, 10)) (0, 1, 2, 3, 4, 5, 6, 7, 8,9)pygame游戏开发的总体结构
查看事件种类
import pygame, sys
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("小小工坊")
ball = pygame.image.load("pygame/images/ball.gif")
ball_rect = ball.get_rect()
speed = 1
while True:
for e in pygame.event.get():
if e.type == pygame.QUIT:
pygame.quit()
sys.exit()
if e.type == pygame.KEYDOWN:
if e.key == pygame.K_RIGHT:
ball_rect.left = ball_rect.left + 5
if e.key == pygame.K_LEFT:
ball_rect.left = ball_rect.left - 5
screen.fill((255,0,0))
ball_rect.move(speed, speed)
screen.blit(ball, ball_rect)
pygame.display.update()
range() 函数用法
Python3 内置函数
Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型。
Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。
函数语法range(stop) range(start, stop[, step])
参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
>>>range(5) range(0, 5) >>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>> list(range(5)) [0, 1, 2, 3, 4] >>> list(range(0)) []
有两个参数或三个参数的情况(第二种构造方法):
>>>list(range(0, 30, 5)) [0, 5, 10, 15, 20, 25] >>> list(range(0, 10, 2)) [0, 2, 4, 6, 8] >>> list(range(0, -10, -1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> list(range(1, 0)) []
Python3 内置函数
Python3 日期和时间
Python MongoDB
2 篇笔记Python3.x 中 range() 函数返回的结果是一个整数序列的对象,而不是列表。
>>> type(range(10))
当你 help(range) 时会看到:
Return an object...
所以,不是列表,但是可以利用 list 函数返回列表,即:
>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range 与 list:
a=range(5) # 默认从 0 开始, 在 5 以内, 到不了 5 print(list(a)) # [0, 1, 2, 3, 4] a=range(1,5) # 给出起点, 终点(到不了的) print(list(a)) # [1, 2, 3, 4] a=range(1,11,2) # 给出起点, 终点(到不了的), 步长(正整数,负整数) print(list(a)) # [1, 3, 5, 7, 9] a=range(2,2468,2) # 最大下标这样获得:len(a)-1 print(a[0],a[1],a[2],a[len(a)-1]) # 2 4 6 2466 a=range(100,80,-2) # 前大后小的,步长应该是负数 print(list(a)) # [100, 98, 96, 94, 92, 90, 88, 86, 84, 82]



