https://www.icourse163.org/learn/PKU-1001894005?tid=1450413466#/learn/content
程序设计与算法(二)算法基础
打印矩阵
def printmat(press):
num_row = len(press)
num_col = len(press[0])
for ii in range(0, num_row):
for jj in range(0, num_col):
if jj == num_col - 1:
print("%d" % press[ii][jj])
else:
print("%d\t" % press[ii][jj], end="")
打印类
print('h\tr\tc')
for pp in point:
print(str(pp.h) +'\t'+ str(pp.r) +'\t'+ str(pp.c))
二维列表最大值
print(max(max(row) for row in list2))
优先队列
import queue as Q
class Skill(object):
def __init__(self,priority,description):
self.priority = priority
self.description = description
def __lt__(self,other):
return self.priority < other.priority
def __str__(self):
return '(' + str(self.priority)+',\'' + self.description + '\')'
def PriorityQueue_class():
que = Q.PriorityQueue()
que.put(Skill(7,'proficient7'))
que.put(Skill(5,'proficient5'))
que.put(Skill(6,'proficient6'))
que.put(Skill(10,'expert'))
que.put(Skill(1,'novice'))
while not que.empty():
print (que.get())
PriorityQueue_class()
# '''
# 当队列的元素是自定义时,需要我们在元素的类中定义出比较规则
# '''
from queue import PriorityQueue
q = PriorityQueue()
# 格式:q.put((数字,值))
#特点:数字越小,优先级越高
q.put((1, 'lori'))
q.put((-1, 'Jseon'))
q.put((10, 'King'))
i = 0
while i < q.qsize():
print(q.get())
打印队列
def printPriorityQueue(q):
print('(初始的5分钟\t每过5分钟减少\t湖的编号)')
p = PriorityQueue()
while not q.empty():
node = q.get()
print(node)
p.put(node)
return p