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éclarer un type pour test


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut Déclarer un type pour test
    Bonsoir,

    Je voudrais faire un test pour vérifier que, pour des nombres tous entiers:

    P + f(i) (mod n) = K
    K - f(i) (mod n) = P

    Avec f(i) une fonction qui à un nombre entier associe un entier, autrement dit f: Z |--> Z.

    Or, ça fait une heure que je cherche sur internet et pas moyen de trouver comment on déclare à python une variable uniquement par son type.
    Je ne cherche pas à vérifier ça avec des nombres précis, mais seulement pour des entiers quelconques. J'ai essayé différents trucs, je n'ai pas trouvé.

    Idem pour la fonction: comment lui faire comprendre f: Z |--> Z ?

    Voici mon bout de code:

    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
    import math
     
    def f(x):
        return x^3-2*x^2+3*x-5 # pour le moment j'ai pris une fonction qui satisfasse la condition dans l'attente de ce que je recherche
     
    def g(x):
        return -x^3+2*x^2-3*x+5
     
    def crypt(a, b, s):
        return (a+f(b))%s
     
    def decrypt(a, b, s):
        return (a-f(b))%s
    a=type('int') # bon, c'était un essai vain, hein, mais bien-sûr ça ne marche pas
    b=type('int')
    s=type('int')
     
    decrypt(crypt(a, b, s), b, s) == a
    Certains vous diront que c'est inutile de déclarer une valeur vide juste avec son type, moi je dis que c'est bien utile.
    Bref, je n'ai pas trouvé. Des idées ? Merci d'avance.

    PS -- Au cas où, je suis débutant.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Ecrire "decrypt(crypt(a, b, s), b, s) == a" suppose avoir assigné des valeurs aux "variables" a, b et s. Si vous voulez tester sur une plage de valeurs il faudra faire des itérations en assignant explicitement des valeurs entières.
    note: Python est un langage de programmation impérative et non de programmation déclarative.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 21
    Points : 5
    Points
    5
    Par défaut
    Bon. d'accord. Merci pour la précision. Je demanderai ça à un logiciel de calcul formel.

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

Discussions similaires

  1. attribute error : y-at-il un moyen de déclarer le type pour éviter cela
    Par MatheuxNoviceEnProg dans le forum Général Python
    Réponses: 5
    Dernier message: 03/04/2016, 13h26
  2. Réponses: 12
    Dernier message: 20/11/2015, 12h52
  3. changement de type pour un champ dans une table
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/02/2004, 15h26
  4. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50

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