python小题目+快速排序(青春是丛林,是荒原,是阳光炙热的奔跑,是大雨滂沱的伫立。)

 

 

 思路:

模拟斗地主发牌,牌共54张
#   花色:
# 黑桃, 梅花, 方块, 红桃
# 种类:
#    A2~10JQK
# 大王,小王
# 三个人,每人发17张牌,底牌留三张
# 输入回车,打印第一个人的17张牌 
# 输入回车,打印第二个人的17张牌 
# 输入回车,打印第三个人的17张牌 
# 输入回车,打印三张底牌
代码:
import random
colour=["黑桃","红心","梅花","方片"]
kinds=['A']+[str(x) for x in range(2,11)]+[x for x in "JQK"]
 
# print(colour)
# print(kinds)
L=['大王','小王']
for x in colour:
for y in kinds:
L.append(x+y)
# print(L)
random.shuffle(L)
print("第一个的牌是:",L[:17])
print("第二个的牌是:",L[17:34])
print("第三个的牌是:",L[34:51])
print("底牌是:",L[51:])
 
演示快速排序
import random
#初始化列表
lst=[]
for x in range(10):
lst.append(random.randint(1,100))
print(lst)
#quick
def quickSort(lst,begin,end):
if begin>=end:
return
x=begin
y=end
tmp=lst[begin]
while x<y:
while lst[y]>tmp and x<y:y-=1
if x==y:
lst[x]=tmp
break
lst[x]=lst[y]
while lst[x]<tmp and x<y:x+=1
if x==y:
lst[x]=tmp
break
lst[y]=lst[x]
lst[x]=tmp
quickSort(lst,begin,x-1)
quickSort(lst,x+1,end)
 
quickSort(lst,0,len(lst)-1)
print(lst)
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2022-01-20 23:17  十一没有撤退可言!  阅读(100)  评论(0编辑  收藏  举报