小学课后服务 Python少儿编程 提高篇:12-魔术纸牌1 课件 (33张PPT)

资源下载
  1. 二一教育资源

小学课后服务 Python少儿编程 提高篇:12-魔术纸牌1 课件 (33张PPT)

资源简介

(共33张PPT)
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
少儿编程课
魔术纸牌(一)
读心术
list
列 表
choose
选 择
random
随 机
魔术流程
魔术师将21张纸牌平均分成3列,请一位观众选择一张纸牌,告诉魔术师这张牌在第几列中。
魔术师将扑克牌收起来,平均分成3列,请观众说出刚才那张纸牌位于第几列。
魔术师再将扑克牌平均分成3列,并让观众说出刚才那张纸牌位于第几列。
最后,魔术师将扑克牌收起来分成3列并拿出一张纸牌。这张牌就是观众所选择的牌。
魔术图解
发牌
观众选牌
收牌
发牌
观众选牌
收牌
发牌
观众选牌
收牌
发牌
找出被选中的牌
生成三组纸牌
双重for循环
for x in range(10):
#需要重复执行的代码
#需要重复执行的代码
for y in range(10):
#需要重复执行的代码
循环中的代码需要缩进4个空格
split指令
split():通过指定分隔符对字符串进行切片,输出为列表。
分隔符:默认为所有的空字符,包括空格、换行、制表符。
h = '黑桃 红桃 方片 梅花'.split()
s= '2 3 4 5 6 7 8 9 10 J Q K A'.split()
print(h)
print(s)
运行结果:
['黑桃', '红桃', '方片', '梅花']
['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
append指令
cards=[] #定义一个空列表
append(内容):在列表末尾追加内容。
cards.append(1)
cards.append(2)
cards.append(3)
print(cards)
[1, 2, 3]
运行结果:
生成纸牌
import random
h = '黑桃 红桃 方片 梅花'.split()
s = '2 3 4 5 6 7 8 9 10 J Q K A'.split()
p = []
for i in h:
for j in s:
temp = i +' '+ j
p.append(temp)
print(p)
生成纸牌
生成三组纸牌
sample指令
sample(列表,n):从列表中随机抽取n个元素,并以列表的形式返回。
import random
li=['a','b','c','d','e']
temp=random.sample(li,2)
print(temp)
注意:结果是随机的,每一次都不确定。
随机取出21张纸牌
import random
h = '黑桃 红桃 方片 梅花'.split()
s = '2 3 4 5 6 7 8 9 10 J Q K A'.split()
p = []
for i in h:
for j in s:
temp = i +' '+ j
p.append(temp)
list = random.sample(p, 21)
#从一副扑克中随机取出21张牌,输出为列表
随机取出21张纸牌
生成三组纸牌
发牌顺序
按照从左至右、从上往下的顺序发牌。
代码中的发牌顺序
纸牌位置与list列表中下标的关系:
取出第一列纸牌
第一列:
0、3、6、9、12、15、18
规律:
(3 * 0) ~ (3* 6)
代码实现:
list1 = []
for i in range(7):
list1.append(list[3 * i])
print(list1)
取出第二列纸牌
第二列:
1、4、7、10、13、16、19
规律:
(3 * 0 + 1) ~ (3 * 6 + 1)
代码实现:
list2 = []
for i in range(7):
list2.append(list[3 * i + 1])
print(list2)
取出第三列纸牌
第三列:
2、5、8、11、14、17、20
规律:
(3 * 0 + 2) ~ (3 * 6 + 2)
代码实现:
list3 = []
for i in range(7):
list3.append(list[3 * i + 2])
print(list3)
整合代码
list1 = []
list2 = []
list3 = []
for i in range(7):
list1.append(list[3 * i])
list2.append(list[3 * i + 1])
list3.append(list[3 * i + 2])
print(list1)
print(list2)
print(list3)
将21张纸牌分为三组
反思总结
输入指令
input('提示信息'):向计算机输入内容
指令说明:
括号中的字符串:提示使用者要向计算机输入什么
该指令的取值为用户从键盘输入的内容
格式化字符串
%s:输出字符串。
%d:输出整型。
用来告诉程序以什么格式输出内容。
a = 'Hello'
print('%s,Jack!' % a)
a = ['Hello', 'Jack']
print('%s,%s!' %(a[0],a[1]))
a = 1
print('%d2345' % a)
a = 1
b = 2
print('%d%d345' % (a, b))
运行结果:
Hello,Jack!
Hello,Jack!
运行结果:
12345
12345
选牌并打印
choose = int(input('你选择的牌在第几列:'))
#将输入的内容转化为整型,并赋值给 choose 变量
print('你选择的牌在第%d列。' % choose)
#打印choose的数值
观众选择一张牌
反思总结

展开更多......

收起↑

资源预览