資源簡介 (共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行的位置。反思總結項目代碼(一)項目代碼(二)項目代碼(三) 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫