<p>你可以这样做:</p>
<pre><code>def print_ul(elements):
print("<ul>")
for s in elements:
ul = "<li>" + str(s) + "</li>"
print(ul)
print("</ul>")
toppings = ['mushrooms', 'peppers', 'pepparoni', 'steak', 'walnuts', 'goat cheese', 'eggplant', 'garlic sauce'];
print_ul(toppings)
</code></pre>
<p>原始代码有一些问题:</p>
<ul>
<li>你没有调用函数,所以难怪它什么也没做</li>
<li>即使您这样做了,函数实际上也没有<em>print</em>任何内容,它只是返回了一些值</li>
<li>这个函数并没有真正接受参数,所以它根本不可重用</li>
</ul>
<p>一个更好的(IMO)解决方案是有一个生成HTML代码并打印结果的函数:</p>
<pre><code>def ulify(elements):
string = "<ul>\n"
for s in elements:
string += "<li>" + str(s) + "</li>\n"
string += "</ul>"
return string
print(ulify(['thing', 'other_thing']))
</code></pre>
<p>你也可以阅读<a href="https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions" rel="nofollow noreferrer">list comprehensions</a>。这样可以简化列表的处理:</p>
<pre><code>def ulify(elements):
string = "<ul>\n"
string += "\n".join(["<li>" + str(s) + "</li>" for s in elements])
string += "\n</ul>"
</code></pre>