我无法用这个创建一个 HTML 表,我究竟做错了什么,或者我应该添加什么才能使这项工作正常进行。请帮助我,我已经不明白了。
此代码还生成 0-50 的斐波那契数列,并将它们显示在表格的列中。
十进制列、十六进制列、八进制列和点精度为 2 的 float 。
#!/usr/local/bin/python3
print('Content-type: text/html\n')
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
<table>
<tr>
<th>Index Number</th>
<th>Decimal</th>
<th>Hexadecimal</th>
<th>Octadecimal</th>
<th>float</th>
</tr>
for i in range (0, 51):
<tr>
<td>i</td>
<td>fib(i)</td>
<td>hex(fib(i))</td>
<td>oct(fib(i))</td>
<td>'%.2f' % float(fib(i))</td>
</tr>
</table>
最佳答案
借助字符串格式化 ( https://docs.python.org/2/library/string.html#formatstrings ),这相当容易:
#!/usr/local/bin/python3
print('Content-type: text/html\n')
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
print('''
<table>
<tr>
<th>Index Number</th>
<th>Decimal</th>
<th>Hexadecimal</th>
<th>Octadecimal</th>
<th>float</th>
</tr>
''')
for i in range (0, 51):
print('''
<tr>
<td>{0}</td>
<td>{1}</td>
<td>{1:x}</td>
<td>{1:o}</td>
<td>{1:.2f}</td>
</tr>'''.format(i, fib(i)))
print('</table>')
关于Python HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608666/