<p>我想你不明白你到底在比较什么。我将假设您正在输入一个由6个数字组成的字符串?因此,现在,您可以:</p>
<pre class="lang-py prettyprint-override"><code>[14, 41, 27, 49, 42, 17]
your numbers: 1 14 32 45 47
no luck today [14, 41, 27, 49, 42, 17]
why isn't this working
</code></pre>
<p>这是因为您拥有的<code>userinput</code>变量包含一个<code>str</code>类型,并且您正在将其与<code>list</code>类型进行比较。我们要做的是把这个输入<code>str</code>变成<code>list</code>{<cd6>}</p>
<p>您可以尝试在while循环中添加类似的内容:</p>
<pre class="lang-py prettyprint-override"><code>while active:
userinput = input('your numbers: ')
user_numbers = [int(number) for number in userinput.split()]
if user_numbers == lottonumbersro:
print('you won', lottonumbersro)
active = False
break
if user_numbers != lottonumbersro:
print('no luck today', lottonumbersro)
active = False
break
</code></pre>
<p>注意列表理解如何用于将<code>str</code>转换为<code>int</code>中的<code>list</code>。现在,当你尝试比较时,它应该可以很好地工作</p>
<pre class="lang-py prettyprint-override"><code>[13, 20, 16, 12, 11, 50]
your numbers: 13 20 16 12 11 50
you won [13, 20, 16, 12, 11, 50]
</code></pre>
<p>请注意,只有当输入字符串是仅由空格分隔的数字时,此解决方案才有效。如果要考虑逗号之类的内容,则需要更改逻辑。您可以通过修改行来执行此操作:</p>
<pre class="lang-py prettyprint-override"><code>user_numbers = [int(number) for number in userinput.split()]
</code></pre>