首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件结构'if‘和'elif’没有显示正确的结果

条件结构'if‘和'elif’没有显示正确的结果
EN

Stack Overflow用户
提问于 2020-05-28 01:35:54
回答 2查看 30关注 0票数 0

这个程序应该给我看正确的结果。例如,如果cor等于“vermelho”,则打印(“sua paleta等效ao por do sol”),但不起作用。

代码语言:javascript
复制
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()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-28 01:46:50

你所得到的陈述如下:

代码语言:javascript
复制
if a == 'b' or 'c':
    print('xyz')

这是在问:如果a的值为'b‘或'c’为真,则打印(‘xyz’)。你需要做的是:

代码语言:javascript
复制
if a == 'b' or a == 'c':
    print('xyz')

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

代码语言:javascript
复制
correct_responses = ['b', 'c', 'd']
if a in correct_responses:
    print('xyz')

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2020-05-28 01:41:52

or操作符的工作方式与您使用它的方式不同。使用:

代码语言:javascript
复制
        def paleta(self):
            if self.cor in {'vermelho', 'laranja', 'lilas', 'amarelo'}:
                print('sua paleta equivale ao por do sol')
            elif self.cor in {'azul', 'branco'}:
                 print('sua paleta equivale ao ceu')
            else:
                 print('paleta nao definida')

or测试两个表达式中的任何一个是否为真;它不会创建一组表达式,您可以对这些表达式进行等式测试。为此,您需要使用set (例如,{'azul', 'branco'})和in运算符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62055535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档