Répondre

1

peut-être quelque chose comme

def banana(x): 
    return exp(((-x[0]**2/200))-0.5*(x[1]+0.05*(x[0]**2) - 100*0.05)**2) 
+1

contre-apostrophes ne sont que pour les blocs de mise en forme du code de moins qu'une ligne. Utilisez des indentations à quatre espaces pour les blocs multi-lignes afin d'obtenir le formatage en tant que bloc contigu et le rendu de la syntaxe de couleur. –

+0

@CharlesDuffy, merci! – Entro

+0

NP. (J'ai pris la liberté de régler ça moi-même, vous pouvez regarder l'historique des modifications pour voir la différence). –

2

Oui, cela est possible:

def _banana(x): 
    return banana(*x) 
-1

vous pouvez écrire des listes

def banana(x): 
    return exp(((-x[0]**2/200))-0.5*(x[1]+0.05*(x[0]**2) - 100*0.05)**2) 
2

Vous pouvez écrire:

def banana(vector): 
    x, y = vector 
    return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2) 
2

Déballez les args au début de votre fonction:

def banana(args): 
    x, y = args 
    return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2) 

ou directement dans la ligne de définition:

def banana((x, y)): 
    return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2) 
0

Oui bien sûr, il est possible. Vous pouvez utiliser une liste ou un tuple. Mettez-vous deux variables dans une liste ou un tuple

x = [5, 7] # A list 
x = (5, 7) # A tuple 

Et vous fonctionnez devrait alors être comme ça:

def banana(x): 
    x, y = x # Unpacking 
    return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2) 

Voir plus à https://docs.python.org/3.6/tutorial/datastructures.html