<h2>问题</h2>
<p>您在这里编写的代码有许多问题:</p>
<ol>
<li>由于您正在使用<code>for</code>循环遍历列表,因此无需预先定义用于遍历列表的变量。这在<code>while</code>循环中通常是必需的</li>
</ol>
<p>例:</p>
<pre><code>l = [1, 2, 3]
for i in l:
print(i)
</code></pre>
<p>输出:</p>
<pre><code>1
2
3
</code></pre>
<p>如果要使用while循环执行此操作,则代码如下所示:</p>
<pre><code>l = [1, 2, 3]
i = 0
while i < len(l):
print(l[i])
i += 1
</code></pre>
<p>显而易见,for循环使用起来更方便、更优雅</p>
<ol start=“2”>
<li>您说您希望您的代码打印出最大的整数,但您编写的代码似乎是在检查列表中的数字是否为奇数</li>
<li>此外,<code>largest</code>没有定义</li>
<li>还有其他错误,这告诉我您对python的掌握有些薄弱。我建议你在网上查阅一些教程,先学习一些基础知识,比如<a href="https://www.w3schools.com/python/" rel="nofollow noreferrer">here</a></李>
</ol>
<h2>修正码</h2>
<pre><code>l = [int(input('Enter a number: ')) for i in range(10)]
print(max(l))
</code></pre>
<p>Python有一个内置的方法<code>max()</code>,可以在不需要<code>for</code>循环的情况下实现这一点</p>
<p>另一种方法是使用<code>.sort()</code>方法对列表进行排序,然后打印出列表的最后一位:</p>
<pre><code>l = [int(input('Enter a number: ')) for i in range(10)]
l.sort()
print(l[-1])
</code></pre>
<p>要按相反顺序排序,请执行以下操作:</p>
<pre><code>l = [int(input('Enter a number: ')) for i in range(10)]
l.sort(reverse=True)
print(l[0])
</code></pre>
<p>但是,如果您想使用逻辑实现这一点,您可以通过对列表进行排序,然后打印出列表的最后一位(最大的),如下所示:</p>
<pre><code>l = [int(input('Enter a number: ')) for i in range(10)]
for i in range(len(l) - 1):
for j in range(len(l) - i - 1):
if l[j] > l[j + 1]:
l[j], l[j + 1] = l[j + 1], l[j]
print(l[-1])
</code></pre>
<p>上面的代码使用冒泡排序对列表进行排序。还有其他方法可以对列表进行排序,但这是最容易理解的。你可以在互联网上了解更多信息,比如<a href="https://www.geeksforgeeks.org/bubble-sort/" rel="nofollow noreferrer">here</a></p>