这个程序应该给我看正确的结果。例如,如果cor等于“vermelho”,则打印(“sua paleta等效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()发布于 2020-05-28 01:46:50
你所得到的陈述如下:
if a == 'b' or 'c':
print('xyz')这是在问:如果a的值为'b‘或'c’为真,则打印(‘xyz’)。你需要做的是:
if a == 'b' or a == 'c':
print('xyz')这将(希望)给你想要的结果。另一种方法是:
correct_responses = ['b', 'c', 'd']
if a in correct_responses:
print('xyz')希望这能有所帮助!
发布于 2020-05-28 01:41:52
or操作符的工作方式与您使用它的方式不同。使用:
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运算符。
https://stackoverflow.com/questions/62055535
复制相似问题