回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这里的问题是,如果da='Dagger',则代码按预期工作,并返回奇数。如果da='Dager',输入错误,则它不打印偶数,而b打印空列表。为什么?</p>
<pre><code>we = [
["Dagger", 250, None, None, 200, 10, None],
["Folding Stock", 500, None, None, -300, 100, None]]
da = "Dager"
print( da, we)
print()
weapon = [a for a in we if da in a]
print(weapon)
b = ["Even" if a == [] else "Odd" for a in we if da in a]
print('end', weapon, b)
</code></pre>
<p>使用错误的“dager”输入运行</p>
<pre><code>Dager [['''big edit here'''
[]
[]
end [] []
</code></pre>
<p>使用良好的“匕首”输入运行</p>
<pre><code>[['Dagger', 250, None, None, 200, 10, None]]
['Odd']
end [['Dagger', 250, None, None, 200, 10, None]] ['Odd']
Process finished with exit code 0
</code></pre>