资源简介 (共28张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.少儿编程课魔术纸牌(三)返回列表或字符串的随机项choice()列表的计算运行结果:['a', 'b', 'c', 'd', 'e']列表的相加:a = ['a', 'b', 'c']b = ['d', 'e']print(a + b)choice指令choice():返回列表或字符串的随机项。运行结果:不确定,随机import randoma = 'abcde'b = '12345'list1 = [a, b]list2 = ['a', 'b']list3 = [list1, list2]print(random.choice(a))print(random.choice(b))print(random.choice(list1))print(random.choice(list2))print(random.choice(list3))break终 止continue继 续选牌时的问题if guess == 1:list = random.choice(choose1)elif guess == 2:list = random.choice(choose2)else:list = random.choice(choose3)有没有一种方法,能让程序在检测到“1、2、3”时继续运行,检测到其它数值时重新输入。如果输入的数值为“5”,程序也将按照“3”来运行。想要实现的效果choose = int(input('你选择的牌在第几列:'))if choose == 1:list = random.choice(choose1)elif choose == 2:list = random.choice(choose2)elif choose == 3:list = random.choice(choose3)else:print('输入错误,请重新输入。')再次开始判断while True、breakbreak:跳出一个循环或结束一个循环。while True:让循环一直进行下去。完善程序while True: #添加一个循环choose = int(input('你选择的牌在第几列:'))if choose == 1:list = random.choice(choose1)break #如果数字为1,在这里结束循环elif choose == 2:list = random.choice(choose2)break #如果数字为2,在这里结束循环elif choose == 3:list = random.choice(choose3)break #如果数字为3,在这里结束循环else:print('输入错误,请重新输入。') #如果输入其它数字,重新开始循环完善魔术反思总结序号与纸牌的位置关系魔术实现的原理就隐藏在每一次收牌和发牌中。在发牌时,将21张牌分成了3列。序号 分组计算 列 行第1张牌 1 / 3 = 0 ……1 1 1第2张牌 2 / 3 = 0 ……2 2 1第3张牌 3 / 3 = 1 ……0 3 1第4张牌 4 / 3 = 1 ……1 1 2第5张牌 5 / 3 = 1 ……2 2 2第6张牌 6 / 3 = 2 ……0 3 2第7张牌 7 / 3 = 2 ……1 1 3第8张牌 8 / 3 = 2 ……2 2 3第9张牌 9 / 3 = 3 ……0 3 3…… …… …… ……可以看出:余数=列数(当余数为0时,列数为3)余数为0时,商=行数;余数不为0时,商+1=行数。控制序号当纸牌的序号为11时,经过发牌后,纸牌可以出现在第2列第4行的位置上。纸牌在牌堆中的序号与收牌顺序有关,这就是在收牌时含有被选择牌的那列纸牌总被放在中间的原因。举例分析首先,观众选择一张牌,假设这张牌在第1列内。第一次收牌第一次收牌后,红桃A的序号为14。此时,可求得发牌后红桃A的位置。序号 分组计算 列 行14 14 / 3 = 4……2 2 5第一次发牌第一次发牌结束后,红桃A来到了第2列第5行的位置。第二次收牌第二次收牌后,红桃A的序号为12。此时,可求得发牌后红桃A的位置。序号 分组计算 列 行12 12 / 3 = 4……0 3 4第二次发牌第二次发牌结束后,红桃A来到了第3列第4行的位置。第三次收牌第三次收牌后,红桃A的序号为11。此时,可求得发牌后红桃A的位置。序号 分组计算 列 行11 12 / 3 = 3……2 2 4第三次发牌第三次发牌结束后,红桃A来到了第2列第4行的位置。魔术的实现第一次发牌观众选牌按顺序收牌第二次发牌观众选牌按顺序收牌第三次发牌观众选牌按顺序收牌第四次发牌第2列第4行无论观众选择了哪一张牌,经过三次收牌、发牌后,这张牌都会来到第2列第4行的位置。反思总结项目代码(一)项目代码(二)项目代码(三) 展开更多...... 收起↑ 资源预览