首页 > 解决方案 > 条件结构——“if”和“elif”——没有显示正确的结果

问题描述

该程序应该向我显示正确的结果。例如,如果 cor 等于 'vermelho',则打印 ('sua Paleta equivale ao por do sol'),但不起作用。

class Bola:

    def escolha(self, cor):
        self.cor = cor

    def paleta(self):
        if self.cor == 'vermelho' or 'laranja' or 'lilas' or 'amarelo':
            print('sua paleta equivale ao por do sol')
        elif self.cor == 'azul' or 'branco':
             print('sua paleta equivale ao ceu')
        else:
             print('paleta nao definida')

bola = Bola()
bola.escolha('azul')
bola.paleta()

标签: pythonif-statementmethodsconditional-statements

解决方案


你有他们的陈述是这样的:

if a == 'b' or 'c':
    print('xyz')

这是在问:如果 a 的值为 'b' 或 'c' 为 True,则 print('xyz')。你需要做的是:

if a == 'b' or a == 'c':
    print('xyz')

这将(希望)给你你想要的结果。另一种方法:

correct_responses = ['b', 'c', 'd']
if a in correct_responses:
    print('xyz')

希望这可以帮助!


推荐阅读