擅长:python、mysql、java
<p>最好使用字典而不是单独的变量。然后使用字典查找来查找所需的字典</p>
<pre><code>class Mega:
def __init__(self, name, types, moves):
self.name = name
self.types = types
self.moves = moves
megas = {'ropher': Mega('Ropher', 'Sound', ['Screech', 'Coil']),
'mijik': Mega('Mijek', 'Light', ['Solar Beam', 'Healing Sunlight'])}
key = input('What mega? ').lower()
print(f"your mega is {megas[key].name}, a {megas[key].types} type")
</code></pre>
<p>您也不应该调用变量<code>input</code>,因为您重写了内置函数。在上面,我将其重命名为<code>key</code></p>
<p>请注意,如果您试图查找的键在字典中不存在,那么您的程序将以<code>KeyError</code>停止。如果要防止出现这种情况,可以首先使用<code>in</code>检查输入是否作为字典中的键之一存在:</p>
<pre><code>if key in megas:
print(f"your mega is {megas[key].name}, a {megas[key].types} type")
else:
print("not a valid mega")
</code></pre>
<p>或者您可以捕获<code>KeyError</code>:</p>
<pre><code>try:
print(f"your mega is {megas[key].name}, a {megas[key].types} type")
except KeyError:
print("not a valid mega")
</code></pre>