Boutique Cinema 4D
Affichage des résultats 1 à 3 sur 3

Discussion: Python Round étrange...

  1. #1
    Pilier Avatar de gr4ph0s
    Date d'inscription
    mai 2013
    C4D version
    R16 Studio
    OS
    win 7 X64
    Messages
    964

    Python Round étrange...

    Tout est dans le titre.
    Code:
    buffer = []
    
    
    for i in range(0,11):   
        value = -1 + 0.2 * i   
        buffer.append(value)
    
    
    print buffer
    Voici la valeur de retour.
    [-1.0, -0.80000000000000004, -0.59999999999999998, -0.39999999999999991, -0.19999999999999996, 0.0, 0.20000000000000018, 0.40000000000000013, 0.60000000000000009, 0.80000000000000004, 1.0]

    J'ai essayer ceci :
    Code:
    value = round(-1 + 0.2 * i  ,2)
    Donc la ça fonctionne bien mais si je met value dans une liste et bha j'ai le même résultat qu'au dessus...
    Par exemple
    Code:
    buffer = []
    
    
    for i in range(0,11):   
        value = round(-1 + 0.2 * i  ,2)  
        buffer.append(value)
    
    
    print buffer
    me retourne toujours
    [-1.0, -0.80000000000000004, -0.59999999999999998, -0.39999999999999991, -0.19999999999999996, 0.0, 0.20000000000000018, 0.40000000000000013, 0.60000000000000009, 0.80000000000000004, 1.0]

    Bref c'est pas une grande imprécision mais bon...

    Je suis sur la R16

    Et puis un peu offtopic je ne me suis pas encore penché sur le sujet mais quelqu'un n'aurais pas un lien ou un exemple de multithread en python dans c4d (en utilisant les fonction de thread de C4d et pas celle directement de python si possible)
    Dernière modification par gr4ph0s ; 22/02/2016 à 23h10.
    SDK Specialist
    MAXON Computer GmbH

  2. #2
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    voir pour "le manque de précision" (tout est relatif hein)

    C'est pas très grave et parfois ça donne l'impression d'être in cohérents.

    Code:
    buffer = [-1 + (0.2 *i) for i in xrange(11)]
    print buffer #imprimera -0.3999999999999999
    print buffer[3] #sort -0.4
    Pour ce qui est du multi-thread, il ne faut pas confondre multi-thread et multi-CPU.

    Le multi-CPU n'est pas possible dans le SDK python de cinema4D.


    petite précision après m'être rafraîchi la mémoire :

    MPThreadPool c'est la class pour faire du multi-cpu. Tu crées tes thread puis ils sont exécutés sur différents CPU pour un vrai traitement en parallèle (encore que).


    Cette class n'est du moins pas documenté en python. (et je crois pas qu'elle soit supportée non plus).
    Dernière modification par valkaari ; 23/02/2016 à 00h50.

  3. #3
    Pilier Avatar de gr4ph0s
    Date d'inscription
    mai 2013
    C4D version
    R16 Studio
    OS
    win 7 X64
    Messages
    964
    Désolé j'ai été un peu surchargé en ce moment mais c'est bon maintenant.

    En tout cas merci de la réponse et je parlais du multiThreading mais c'est possible avec la class de threading de python donc tout est OK
    SDK Specialist
    MAXON Computer GmbH

Discussions similaires

  1. [Problème] Ombre étrange
    Par bomox28 dans le forum Nouveaux membres
    Réponses: 10
    Dernier message: 13/10/2013, 21h41
  2. [Extrusion]*Etrange ou pas ?
    Par SkyHunterZ dans le forum Nouveaux membres
    Réponses: 7
    Dernier message: 09/06/2010, 15h52
  3. Polygone etrange
    Par thegoodcharlotte dans le forum Nouveaux membres
    Réponses: 4
    Dernier message: 31/12/2007, 15h09
  4. étrange, étrange, ...
    Par vincent.be dans le forum Le site
    Réponses: 1
    Dernier message: 16/10/2004, 22h01
  5. Scène étrange...
    Par Ariel dans le forum Travaux en cours
    Réponses: 15
    Dernier message: 03/12/2003, 10h16

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet