Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/01/2019, à 11:15

piter42

résoudre sript sur resultat sqrt int ou float

bonjour
je doit écrire un scrip qui affiche si la racine carré est possible ou non suivant le nbr entré,voila mon sript:

from math import*
print("veuillez entrer un nbr;")
a=int(input())
b=sqrt(a)
if type(b)==float:
    print("impossible")
elif type(b)==int:
    print(b)

et en résultat j ai tjs le nbr (a) au lieu de (b) et "impossible" ?
merci pour vos réponses

Hors ligne

#2 Le 26/01/2019, à 12:06

soshy

Re : résoudre sript sur resultat sqrt int ou float

salut

type(sqrt(4))
<class 'float'>

A priori sqrt retour un float, dont ça sera toujours impossible

Hors ligne

#3 Le 26/01/2019, à 12:08

pingouinux

Re : résoudre sript sur resultat sqrt int ou float

Bonjour,

.............................;
b=int(sqrt(a))
if b*b!=a:
.............................;

Hors ligne

#4 Le 26/01/2019, à 12:24

cqfd93

Re : résoudre sript sur resultat sqrt int ou float

Modération

Bonjour,

piter42 a écrit :


et en résultat j ai tjs le nbr (a) au lieu de (b) et "impossible" ?

La langue du forum est le français, pas le SMS ! Et dans ton script, pourquoi ne pas demander « veuillez entrer un nombre » ?


cqfd93

Hors ligne

#5 Le 26/01/2019, à 16:04

kholo

Re : résoudre sript sur resultat sqrt int ou float

et nous demander de faire tes devoirs ne va pas t'aider des masses...
la recherche est un point important en programmation !

... et si tu commences par convertir ton nombre en entier

a=int(input())

a n'est plus la valeur entrée mais un autre nombre...

quant à la racine carré d'un nombre, elle est possible mais doit donner un entier
j'en ai pas trop dit là ?  wink

Hors ligne

#6 Le 26/01/2019, à 16:31

piter42

Re : résoudre sript sur resultat sqrt int ou float

kholo a écrit :

et nous demander de faire tes devoirs ne va pas t'aider des masses...
la recherche est un point important en programmation !

... et si tu commences par convertir ton nombre en entier

a=int(input())

a n'est plus la valeur entrée mais un autre nombre...

quant à la racine carré d'un nombre, elle est possible mais doit donner un entier
j'en ai pas trop dit là ?  wink

j avais mis float au début,mais comme ça me mettait "impossible" j ai assayé int(),regardé sur le net et j ai vu qu les racine carré donne toujours un réel et non un entier, c'est pour celà que je me tourne vers vous,pas pour que vous fassiez mes devoirs,j ai 55 ans ça fait longtemps que je n ai plus de devoirs wink

Hors ligne

#7 Le 26/01/2019, à 16:42

piter42

Re : résoudre sript sur resultat sqrt int ou float

pingouinux a écrit :

Bonjour,

.............................;
b=int(sqrt(a))
if b*b!=a:
.............................;

voila le script

from math import*
print("veuillez entrer un nbr;")
a=float(input())
b=sqrt(a)
if b*b!=a:
    print("impossible")
elif b*b==a:
    print(b)

et ça marche ,merci pingouinux wink

Hors ligne

#8 Le 26/01/2019, à 16:44

piter42

Re : résoudre sript sur resultat sqrt int ou float

cqfd93 a écrit :

Modération

Bonjour,

piter42 a écrit :


et en résultat j ai tjs le nbr (a) au lieu de (b) et "impossible" ?

La langue du forum est le français, pas le SMS ! Et dans ton script, pourquoi ne pas demander « veuillez entrer un nombre » ?

parce que ce sont des abréviations pour simplifier et pas du language sms,je n'ai pas écrit lol ou mdr smile

Dernière modification par piter42 (Le 26/01/2019, à 16:45)

Hors ligne

#9 Le 26/01/2019, à 17:00

cqfd93

Re : résoudre sript sur resultat sqrt int ou float

piter42 a écrit :

parce que ce sont des abréviations pour simplifier et pas du language sms,je n'ai pas écrit lol ou mdr smile

Le résultat est le même et que je sache, le langage SMS ne se résume pas à lol et mdr.


cqfd93

Hors ligne

#10 Le 26/01/2019, à 17:09

pingouinux

Re : résoudre sript sur resultat sqrt int ou float

Il vaut mieux faire ceci :

......................................
b=int(sqrt(a))
if b*b!=a:
    print("impossible")
else:
    print(b)

Avec un nombre qui n'est pas un carré, comme 5, ton script répond impossible à cause des erreurs d'arrondi :

a=5; b=2.23606797749979; b*b=5.000000000000001

Mais il y a des cas où ça ne marche pas :

a=5.000000000000001; b=2.23606797749979; b*b=5.000000000000001

Hors ligne

#11 Le 26/01/2019, à 17:22

piter42

Re : résoudre sript sur resultat sqrt int ou float

cqfd93 a écrit :
piter42 a écrit :

parce que ce sont des abréviations pour simplifier et pas du language sms,je n'ai pas écrit lol ou mdr smile

Le résultat est le même et que je sache, le langage SMS ne se résume pas à lol et mdr.

ce que je recherche c est de l aide,donc si ma façon  d écrire ne vous plait pas tant pis ,le seul qui ait fait avancez les choses c est pingouinix et je l en remercie
cdlmt

Hors ligne