Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

python sur les vecteurs

Posté par
chacal66760
14-02-20 à 18:59

Bonjour,
je bloque sur un python. Lorsque je le lance il ne me demande pas la valeur des variables et donc n'affiche pas le résultat. C'est pour l'orthogonalité des vecteurs:
from math import*
def orthogonaux(a,b,c,d):
    p=a*c+b*d
    if p==0:
        return True
    else :
         return False

Merci d'avance

Posté par
alb12
re : python sur les vecteurs 14-02-20 à 19:33

salut, c'est normal c'est à toi de taper orthogonaux(donner 4 nombres)

Posté par
chacal66760
re : python sur les vecteurs 14-02-20 à 19:42

je dois donc rajouter
a=input()
b=input()...
Ou  il y a un moyen de demander les 4 valeurs en une ligne de code ?

Posté par
alb12
re : python sur les vecteurs 14-02-20 à 19:44

dans ce cas integre les input dans le corps de la fonction
le debut sera def orthogonaux()

Posté par
chacal66760
re : python sur les vecteurs 14-02-20 à 19:54

Alors je n'ai jamais vu ça On met le input dans le style def orthogonaux(input(a,b,c,d)): ?
Deuxième question, si je demande bien mes variables
from math import*
a=input("a")
b=input("b")
c=input("c")
d=input("d")
def orthogonaux(a,b,c,d):
  p=a*c+b*d
  if p==0:
    return True
  else:
    return False

On demande bien les valeurs mais il ne se passe rien ensuite

Posté par
cercus
re : python sur les vecteurs 14-02-20 à 20:00

Il suffit d'appeler la fonction avec  l'instruction : orthogonaux(a, b, c, d)

Posté par
chacal66760
re : python sur les vecteurs 14-02-20 à 20:04

A la fin de l'algorithme ? dans ce cas je reçois un message d'erreur

Posté par
cercus
re : python sur les vecteurs 14-02-20 à 20:13

poste nous ton message d'erreur

Posté par
chacal66760
re : python sur les vecteurs 14-02-20 à 20:16

alors si je l'écris comme ça:
from math import*
def orthogonaux(a,b,c,d):
  p=a*c+b*d
  if p==0:
    return True
  else:
    return False
orthogonaux(2,3,4,5)

Il ne se passe rien
et
from math import*
a=input("a")
b=input("b")
c=input("c")
d=input("d")
def orthogonaux(a,b,c,d):
  p=a*c+b*d
  if p==0:
    return True
  else:
    return False
orthogonaux(a,b,c,d)

Une fois les valeurs entrées je me retrouve avec:
Traceback (most recent call last):
  File "main.py", line 12, in <module>
    orthogonaux(a,b,c,d)
  File "main.py", line 7, in orthogonaux
    p=a*c+b*d
TypeError: can't multiply sequence by non-int of type 'str'

Posté par
cercus
re : python sur les vecteurs 14-02-20 à 20:31

Il faut convertir tes variables a, b, c , d en int : a=int(input("a"))

Posté par
alb12
re : python sur les vecteurs 14-02-20 à 20:31

def orthogonaux():
puis à l'interieur les input

Posté par
alb12
re : python sur les vecteurs 14-02-20 à 21:50

un exemple en Xcas


fonction sont_orthogonaux()
  saisir(a,b,c,d);
  p:=a*c+b*d;
  si p==0 alors 
    retourne vrai
  sinon 
    retourne faux
  fsi
ffonction:;

l'avantage c'est qu'on peut entrer des reels exacts comme 2/3 ou sqrt(2)



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !