开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (9)
标签 (1)
master
record-replay
independent-visualizer
opt-ipy
cumulative_mode
play-with-transitions
d3ify-stack
modularize
experiment-with-d3
v-Aug8-for-DeNero
master
分支 (9)
标签 (1)
master
record-replay
independent-visualizer
opt-ipy
cumulative_mode
play-with-transitions
d3ify-stack
modularize
experiment-with-d3
v-Aug8-for-DeNero
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (9)
标签 (1)
master
record-replay
independent-visualizer
opt-ipy
cumulative_mode
play-with-transitions
d3ify-stack
modularize
experiment-with-d3
v-Aug8-for-DeNero
OnlinePythonTutor
/
v3
/
matrix.py
OnlinePythonTutor
/
v3
/
matrix.py
matrix.py 4.92 KB
一键复制 编辑 原始数据 按行查看 历史
Philip Guo 提交于 2013年09月30日 08:27 +08:00 . started adding new files from Chris Meyers
# m a t r i x . p y
#
# Support for 2d matrix that renders to an HTML table
#
# Chris Meyers. 09/25/2013
#
dftTableAttr = 'cellspacing="0" cellpadding="10"'
class Matrix :
def __init__ (self, nrows=1, ncols=1, data=None,
dftFormat="", dftStyle="", title="",
tableAttr=dftTableAttr, tableHeaders=None,
Expand=True) :
self.nrows = nrows
self.ncols = ncols
self.values = {}
self.expanded = Expand
if Expand :
# get attributes only on the main Matrix
self.dftFormat = dftFormat
self.dftStyle = dftStyle
self.title = title
self.tableAttr = tableAttr
self.tableHeaders = tableHeaders
self.format = Matrix(nrows, ncols, Expand=False)
self.style = Matrix(nrows, ncols, Expand=False)
if data :
if type(data) == type({}) : data=dictToLol(data)
if type(data) == type([]) :
self.populate(data)
def __getitem__(self, coords) :
row, col = coords
return self.values.get((row,col))
def __setitem__(self, coords, value) :
row, col = coords
self.values[(row,col)] = value
self.nrows = max(self.nrows,row+1)
self.ncols = max(self.ncols,col+1)
if self.expanded :
self.format.nrows = self.nrows
self.format.ncols = self.ncols
self.style.nrows = self.nrows
self.style.ncols = self.ncols
return value
#===========================================
def setrowVals(self, row, values) :
"set each column to a seperate value"
col = 0
for col in range(len(values)) :
self.__setitem__((row,col),values[col])
col += 1
def setrowVal(self, row, value) :
"set all columns to the same value"
col = 0
while col < self.ncols :
self.__setitem__((row,col),value)
col += 1
def getrow (self, row) :
vals = []
for c in range(self.ncols) :
vals.append(self.__getitem__( (row,c) ))
return vals
#===========================================
def setcolVals(self, col, values) :
"set each row to a seperate value"
row = 0
for row in range(len(values)) :
self.__setitem__((row,col),values[row])
row += 1
def setcolVal(self, col, value) :
"set all rowumns to the same value"
row = 0
while row < self.nrows :
self.__setitem__((row,col),value)
row += 1
def getcol (self, col) :
vals = []
for r in range(self.nrows) :
vals.append(self.__getitem__( (r,col) ))
return vals
#===========================================
def populate(self, lists) :
"Fill self from a list of lists"
nRows = len(lists)
nCols = max([len(l) for l in lists])
for row in range(len(lists)) :
vals = lists[row]
if type(vals) != list : vals = [vals] # make sing col
self.setrowVals(row, vals)
def renderHtml(self,wrap=None) :
lins = ["","<table %s>" % self.tableAttr]
if self.title : lins[0] = "<div>%s</div>" % self.title
headers = self.tableHeaders
if headers :
lins.append("<tr><th>"+"</th><th>".join(map(str,headers))+
"</th></tr>")
for row in range(self.nrows) :
rowLin = [" <tr>"]
vals = self.getrow(row)
if self.format : formats = self.format.getrow(row)
else : formats = ['']*self.ncols
if self.style : styles = self.style.getrow(row)
else : styles = ['']*self.ncols
for c in range(self.ncols) :
val = vals[c]; style=styles[c]; format=formats[c]
if val == None : val = ""
if not format : format = self.dftFormat
if format :
if type(format)==type("") : val = format % val
else : val = format(val)
if not style : style = self.dftStyle
if style : cell = '<td style="%s">%s</td>' % (style,val)
else : cell = '<td>%s</td>' % val
if wrap and c>0 and c%wrap==0 : cell="</tr><tr>"+cell
rowLin.append(cell)
rowLin.append("</tr>")
lins.append("".join(rowLin))
lins.append("</table>")
return "\n".join(lins)
def __str__ (self) :
return "Matrix-%dx%d" % (self.nrows,self.ncols)
#===========================================
typeSeq = (type([]), type((1,2)))
def dictToLol(dic) :
"Convert dict to a list of lists"
keys = dic.keys(); keys.sort()
lists = []
for key in keys :
val = dic[key]
if type(val) not in typeSeq : val = [val]
lists.append([key]+list(val))
return lists
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

Pythontutor 可视化 VISUALIZE CODE EXECUTION
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/icbug/OnlinePythonTutor.git
git@gitee.com:icbug/OnlinePythonTutor.git
icbug
OnlinePythonTutor
OnlinePythonTutor
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /