show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次我们了解了排序
- 排序是在原来的列表上做的
- 可以按照不同的方式排序
- 字符序号
- 字符串长度
- 可以递增也可以逆序
- 排好序之后插入就更合理了
- 定点插入insert
- 定点删除pop
- 那么是否有排序的逆运算呢
- 比如说乱序?🤔
- 好像来自我们熟悉的random包
- 顺序乱了有什么意义吗?
- 意义挺多
- 打乱顺序
- 随机安排角色
- 随机分组
- shuffle 本身就是洗牌的意思
- 一副牌54张
- 每张牌一个编号
- 把牌洗开
- 牌洗好了
- 不过洗的是牌的序号
- 我可以洗真正的牌吗?
- 要先把数字序号换成扑克牌的字符
- 次序有点不同
- 不是黑红梅方
- 把这些都遍历一遍
- 输出结果
- 组一副牌应该够了
- 让输出更清晰一点
- 输出结果
- 根据这个来构建我们的列表
- 多出两张不相关的牌
- 将他们remove掉
- 结果为58张牌
- 多出4张
- 需要把骑士牌(C)删掉
- 54张
- 洗牌结果
- 什么玩法呢?
- 4个人
- 每人抓12轮
- 总共抓48张
- 还剩6张
- 扣为底牌
- 底牌归当前轮的庄家
- 抓牌結果
- 抓了牌还是要理一理的
- 抓牌结果
import random
cards = []
for n in range(0x1f0a0, 0x1f0e0):
if n % 16 ==0 or n % 16 ==12:
continue
cards.append(chr(n))
cards.remove(chr(0x1f0af))
cards.remove(chr(0x1f0bf))
random.shuffle(cards)
print(cards)
dong = cards[0:48:4]
dong.sort()
nan = cards[1:48:4]
nan.sort()
xi = cards[2:48:4]
xi.sort()
bei = cards[3:48:4]
bei.sort()
di = cards[-6:]
print("東:",dong)
print("南:",nan)
print("西:",xi)
print("北:",bei)
print("底:",di)
- 这样同样花色就被理顺了
- 可以玩双升吗?
- 雙升也叫拖拉機
- 發牌結果
- 可以玩斗地主吗?
- 斗地主如何理牌呢?
- 现在我们对于列表的函数基本都了解了
- 不能还在这个维度里面绕圈子了
- 这次我们了解了乱序
- 排序可以让列表有顺序
- 随机洗牌可以让列表没有顺序
- 洗牌、码牌、抓牌、看牌
- 理牌可以让自己手里的牌有适合出牌的次序
- 无序有序都用
- 无序带来混乱的快乐
- 有序带来理性的方便
- 目前所有列表都是一维列表
- 可以有更高维度的列表吗?🤔
- 下次再说 👋