Cette sortie lorsque le contenu de l'argument est "range" ou "r" Cette sortie lorsque le contenu de l'argument est 'échelle' ou 'l' Je veux faire ça J'ai essayé de créer une branche conditionnelle en comparant des chaînes de caractères
def function1(mode):
if mode == ('range' or 'r'):
x=1
elif mode == ('ladder' or 'l'):
x=2
return x
print(function1('r'))
'''Résultat d'exécution
Traceback (most recent call last):
print(function1('r'))
return x
UnboundLocalError: local variable 'x' referenced before assignment
'''
Ne réagit-il pas avec «ou»?
J'ai essayé d'inverser l'avant et l'arrière de ==
def function2(mode):
if ('range' or 'r') == mode :
x=1
elif ('ladder' or 'l') == mode :
x=2
return x
print(function2('r'))
'''Résultat d'exécution
Traceback (most recent call last):
print(function2('r'))
return x
UnboundLocalError: local variable 'x' referenced before assignment
'''
Que dois-je faire (・ ω ・ \ `) J'y ai réfléchi et j'ai essayé d'utiliser la liste et l'opérateur in.
def function3(mode):
if mode in ['range' ,'r']:
x=1
elif mode in ['ladder' ,'l']:
x=2
return x
print(function3('r'))
'''Résultat d'exécution
1
'''
Ça s'est bien passé Je l'ai recherché et je ne suis pas sorti, alors j'ai pensé que ça pourrait être un problème pour quelqu'un, alors je l'ai noté.
Il peut être extrêmement basique de faire une note en python (・ ω ・ \ `)
Au fait, il existe également un opérateur de comparaison appelé ʻis`, mais cela semble vouloir dire quelque chose comme "L'objet pointe-t-il vers lui-même?" Et cela semble être un usage plus restreint.