IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Débutant] type de variable


Sujet :

Python

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 68
    Par défaut [Débutant] type de variable
    Bonjour,

    Dans ce code pour décomposer un entier en produits de facteurs premiers, pourquoi ma variable 'n' est de typre float ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    def divise():
        global n
        while n%d==0:
            facteur.append(d)
            n/=d
    n=int(input("Entier à décomposer : "))
    facteur=[]
    d=2
    divise()
    d=3
    while True:
        divise()
        d+=2
        if d*d>n:
            break
    if n>1:
        facteur.append(n)
    print(facteur)

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 536
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 536
    Par défaut
    parce que la division classique te renverra un float, tu peux utiliser la division entière (//)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 68
    Par défaut
    Citation Envoyé par umfred Voir le message
    parce que la division classique te renverra un float, tu peux utiliser la division entière (//)
    Merci!!!!!!!

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 828
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par skaarj Voir le message
    Dans ce code pour décomposer un entier en produits de facteurs premiers
    Je ne comprends pas à quoi sert la fonction "divise()". Ou plutôt je ne comprends pas pourquoi elle ne fait pas le travail entièrement que tu es obligé de rajouter ensuite un code supplétif pour obtenir ton résultat.
    Accessoirement passer par des globales pour éviter de se farcir un passage de paramètre est plus que mauvais. Ca pête complètement l'indépendance des fonctions (ta fonction ne sera pas utilisable par un autre... remarque vu son état de toute façon...)
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    def decomp(n):
    	facteur=[1,]
    	d=2
    	while (q:=n//d) >= d:				# On s'arrête quand le diviseur est trop grand
    		if n%d == 0: 
    			facteur.append(d)
    			n=q
    		else: d+=(2 if d > 2 else 1)		# Permet de sauter les diviseurs pairs
    	# while
    	return (facteur + [n,]) if n > 1 else facteur
    # decomp()
     
    n=int(input("Entier à décomposer : "))
    facteur=decomp(n)
    print(n, facteur)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Par défaut Décomposition en facteurs premiers
    Ce programme retourne une erreur quand j'essaie 257 :
    while (q!=n//d) >= d:
    NameError: name 'q' is not defined
    >>>

    Merci.

  6. #6
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 919
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par pzorba75 Voir le message
    Ce programme retourne une erreur quand j'essaie 257 :
    while (q!=n//d) >= d:
    NameError: name 'q' is not defined
    >>>

    Merci.
    Bonjour.
    Ce n'est pas ce qui est dans le code proposé par Sve@r, mais .
    L'opérateur morse := assigne à la variable q le résultat de l'opération n//d

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Type et variable
    Par cloogy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2004, 15h07
  2. [SQL S 2000] Type de variable ?
    Par Tankian dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/06/2004, 14h03
  3. Assembleur et type de variable delphi
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 20/06/2004, 23h21
  4. Comparer les types de variable
    Par onipif dans le forum ASP
    Réponses: 11
    Dernier message: 27/05/2004, 18h07
  5. Types de variables entre mysql/php et flash
    Par ramses83 dans le forum Flash
    Réponses: 2
    Dernier message: 06/10/2003, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo