Skip to main content
 首页 » 编程设计

python之如何在 python 3.x 中使用字符串创建 if 语句

2025年05月04日39qq78292959

所以我决定自己编写一些愚蠢的简单代码来练习,但我很难找到我做错了什么。 Python 显示“语法错误”,但我不确定自己做错了什么。

>>> x= str(input("Select a colour: Red, Blue or Green")) 
Select a colour: Red, Blue or Green: 
>>>if x==str(Red): 
...    print("Charmander") 
...elif x==str(Blue): 
...    print("Squirtle") 
...elif x==str(Green): 
...    print("Bulbasaur") 
... else: 
...    exit() 

请您参考如下方法:

这里有一些东西..

  1. 这不一定是错误(代码仍然有效)但没有理由将input 转换为str,它已经是一个字符串
  2. 字符串需要在引号中,而不是在 str() 中。使用 "Red" 代替
  3. 也许使用更好的变量名,x 不清楚
  4. 最后一个导出没用

修复后的代码看起来像这样:

selected_color = input("Select a colour: Red, Blue or Green ") 
if selected_color == "Red": 
    print("Charmander") 
elif selected_color == "Blue": 
    print("Squirtle") 
elif selected_color == "Green": 
    print("Bulbasaur") 

改进

由于您只是将颜色转换为口袋妖怪,因此您可以在此处使用字典

pokemonColors = {"Red" : "Charmander", "Blue" : "Squirtle", "Green" : "Bulbasaur"} 
print(pokemonColors[input("Select a colour: Red, Blue or Green ")]) 

请注意,这将为不在字典中的颜色提供 KeyError,如果需要,您可以使用带有默认值的 .get() 来修复此问题。