Skip to main content
 首页 » 编程设计

python之else、elif、if Python 中的问题

2025年05月04日13Leo_wl

instrument=(raw_input("Which kind of tab would you like to view? Enter 'Guitar' or 'Bass' for a random tab " )) 
print 
if instrument=='guitar' or 'Guitar': 
    print ("0-3-5---0-3-6-5---0-3-5-3-0") 
elif instrument=='bass' or 'Bass': 
    print ("3-5-12--12-0-5-6-0-0-0-3") 
else: 
    print 'Sorry, please re-enter a proper answer' 

这段代码每次都会打印出“guitar”选项卡(第一个 if 语句),无论您为变量“instrument”输入什么内容。

我正在尝试自学 Python,我只是在学习的过程中开始学习,这是我正在研究并希望扩展的基本程序。

我在网上看过,但从我读到的有关 if else 语句的内容来看,在我的新手看来,这段代码应该可以工作。我错过了一些我无法弄清楚的东西

请您参考如下方法:

if instrument=='guitar' or 'Guitar': 

被解析为

if (instrument=='guitar') or ('Guitar'): 

'Guitar' 等非空字符串被评估为 True,因此第一个条件始终为 True。

相反,使用

if instrument in ('guitar', 'Guitar'): 

或者,如果您愿意接受像 'gUiTAR' 这样有趣的拼写,您可以使用

if instrument.lower() == 'guitar':