复杂表达式这一节看不懂
复杂表达式这一节看得我一脸懵逼,只有我一个人这样吗?还请大神讲解下,完全不懂
复杂表达式这一节看得我一脸懵逼,只有我一个人这样吗?还请大神讲解下,完全不懂
2016-03-17
1、'<tr><td>%s</td><td>%s</td></tr>' % (name, score)
字符串可以通过 % 进行格式化,用指定的参数替代 %s。
通过遍历得到的name、score参数分别替代两个%s,为了更好区分,将第二个%s改为%d:
'<tr><td>%s</td><td>%d</td></tr>' % (name, score)
这样遍历得到的name、score分别替代%s、%d。
2、print ‘\n’.join(tds)
\n是python中的换行字符
‘’.join()函数可以把一个list拼接成字符串
正常情况下的print tds 得到一个list:[‘<tr><td>Lisa</td><td>85</td></tr>’,
‘<tr><td>Adam</td><td>95</td></tr>’,
‘<tr><td>Bart</td><td>59</td></tr>’]
利用‘ ’.join()函数:‘ ’.join(tds)得到:
<tr><td>Lisa</td><td>85</td></tr><tr><td>Adam</td><td>95</td></tr><tr><td>Bart</td><td>59</td></tr>
加上分行字符:’\n’join(tds)得到:
<tr><td>Lisa</td><td>85</td></tr>
<tr><td>Adam</td><td>95</td></tr>
<tr><td>Bart</td><td>59</td></tr>
3、print '<table>'
print '<tr><th>Name</th><th>Score</th><tr>'
print '</table>'
以上三行为html网页代码的固定格式,固定打印出就可以。
4、这个问题涉及到html代码,可以去了解下。
tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
print '<table>'
print '<tr><th>Name</th><th>Score</th><tr>'
print '\n'.join(tds)
print '</table>'
我想你不明白应该有以下几点:
首先是这个格式,如果你仔细看你会发现和html格式是非常相近的,是一个表格的结构
对于第一句里面的%s,%(name,score) ;你可以认为这是一种格式,例如:
print ‘please tell me your %s and %d’,%(name,age)
其实就是讲name 和 age 这两个参数放到 %s和%d这两个地方(这样想就比较容易懂了,至于说%s 是用str()处理对象等,我就不说了,我说的是我的理解)
.john :join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串
对于结果,在慕课网上面,如果在它的编辑器里面写,会在右面直接生成表格形式,但是用其他编辑器(我用的是vim)运行的结果是
<table border="1">
<tr><th>Name</th><th>Score</th><tr>
<tr><td>Lisa</td><td>85</td></tr>
<tr><td>Adam</td><td>95</td></tr>
<tr><td>Bart</td><td>59</td></tr>
</table>
你需要把结果保存为html文件,在运行文件就可以在浏览器上看到表格了
说的不好,多多体谅
举报