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 :

Exercice sur le codage couleur des résistances et condensateur


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 4
    Par défaut Exercice sur le codage couleur des résistances et condensateur
    Code de de couleur des résistances et condensateurs
    L’utilisateur saisit une chaîne de caractères (par exemple 4,7kOhm, 100Ohm ou 18nF), et le programme restitue le code couleur correspondant. Inversement, si l’utilisateur saisit une suite de 3 ou 4 couleurs, le programme donne les valeurs de la résistance et de la capacité correspondante, avec éventuellement la précision si la 4e couleur est donnée.

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    OK, et quelle est votre proposition pour tenter de résoudre ca ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 4
    Par défaut
    J’ai fait des dictionnaires couleurs et multiplicateurs mais je bloque sur le corps du code sur une boucle for , je suis un peu novice en python

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour
    Citation Envoyé par Meton2 Voir le message
    mais je bloque sur le corps du code sur une boucle for
    Comment est-il possible de t'aider avec ton for si nous n'avons pas tes "dictionnaires" ? Il nous faut tout ton code et des explications sur ton code (même surtout si il ne fonctionne pas) et ou se situe exactement ton problème. Sinon au mieux, nous pouvons te faire un lien vers un tuto sur "for"

    utilisateur saisit une chaîne de caractères (par exemple 4,7kOhm, 100Ohm ou 18nF), et le programme restitue le code couleur correspondant.
    Suis pas trop futé, je n'arrive même pas à voir une bouche for dans cette demande

    la seule chose que je peux deviner ... puisque tu as des kOhm, Ohm ou nF, c'est que en tout premier lieu, tu convertis l'entrée dans un format unique pour pouvoir la traiter ensuite. peut-être la partie la plus difficile pour un débutant ?

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Meton2 Voir le message
    je suis un peu novice en python
    Et aussi un peu novice en politesse. Bonjour, s'il vous plaît, merci etc ça semble des notions un peu floues pour toi. Tu nous poses ton énoncé comme une bouse et démerdez-vous. Ben démerde-toi toi !!!
    Pas d'introduction, ni de détails sur l'aide attendue. Tu n'as même pas donné la notion qui établit le lien entre "4,7kOhm" et une quelconque couleur...
    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]

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 221
    Par défaut
    hello,
    Citation Envoyé par Sve@r Voir le message
    Tu n'as même pas donné la notion qui établit le lien entre "4,7kOhm" et une quelconque couleur...
    moi qui suis ancien électronicien je connais bien cela. Certains composants électroniques comme les résistances par exemple ont leur valeur inscrite non pas sous forme numérique mais sous forme de couleurs dont voici la signification :

    Nom : code_couleur_résistance_électrique.png
Affichages : 1683
Taille : 23,5 Ko

    Par exemple une résistance de 4,7 Kohms de tolérance 5% aura comme code de couleur jaune violet rouge or.

    Ami calmant, J.P

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 4
    Par défaut Voici mon code j’ai pu afficher la résistance avec les couleurs maintenant je voudrais faire le contraire mais
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    # calcul resistances
    cent,dix,unit,multipl,tolere=0,0,0,1,0
    multiplicateur={"gold": 0.1,"black":1,"brown":10,"red":10**2,"orange":10**3,"yellow":10**4,"green":10**5,"blue":10**6,"purple":10**7,"grey":10**8,"white":10**9}
     
    chiffres= {"black":0,"brown":1,"red":2,"orange":3,"yellow":4,"green":5,"blue":6,"purple":7,"grey":8,"white":9}
    tolerance= {"black":0.05,"brown":0.01,"red":0.02,"green":0.005,"blue":0.0025,"purple":0.001}
     
     
    multiplicateur2 ={0.1: "gold",1:"black",10:"brown",10**2:"red",10**3:"orange",10**4:"yellow",10**5:"green",10**6:"blue",10**7:"purple",10**8:"grey",10**9:"white"}
     
    chiffres2= {0:"black",1:"brown",2:"red",3:"orange",4:"yellow",5:"green",6:"blue",7:"purple",8:"grey",9:"white"}
     
    # liste des couleurs qu'on doit utilsier 
     
    coul=["or","noir","marron","rouge","orange","vert","bleu","gris","blanc"]
    mult= ["argent","or","noir","marron","rouge","orange","vert","bleu","violet"]
    tol= ["argent","or","noir","marron","rouge","vert","bleu","violet"]
     
    # Correspondances entre le texte affiché dans les Listbox et les couleurs affichées.
    #traduction={"argent":"aucun","or":"gold","noir":"black","marron":"brown","rouge":"red","orange":"orange","jaune":"yellow","vert":"green","bleu":"blue","violet":"purple","gris":"grey","blanc":"white"}
     
    def CouleurMult(val):
      for key, value in multiplicateur.items():
        if value==val:
          return key
     
    def CouleurChiffre(val):
      for key, value in chiffres.items():
        if value==val:
          return key
     
     
    def CouleurTol(val):
      for key, value in tolerance.items():
        if value==val:
          return key
     
     
    def ChiffreCoul(val):
      for key, value in chiffres2.items():
        if value==val:
          return key
     
    def MultCoul(val):
      for key, value in multiplicateur2.items():
        if value==val:
          return key
     
    '''def convpuissance():
      l[l.index("k")] = 10**3
     
    #int(str(x)+str(y))'''
     
    '''cpt = 0
    Res = []
    M = input("Choisissez la valeur de la rez : ")
    for i in M:
      Res.append(i)
     
    print(M)
     
    while(M%10==0):
      cpt+=1
      M = M/10
    D = M//10
    U = M%10
    print(CouleurG(D),CouleurG(U),CouleurG(cpt))
    print(D, U, cpt)
     
     
     
     
    l = []
    s = input("blablabla: ")
    for i in s:
      l.append(i)
     
    print(l)
    if "k" in l :
      convpuissance()
     
    print(l.index("k"))
    '''
    '''liste = ["4",",","7","k","O","h","m"]
    s = ""
    for i in liste :
      s +=i
    print(s)'''
     
     
     
     
    res = []
    resbis = ""
    M = input("Choisissez la valeur de la rez : ")
    temp3 = 0
     
     
     
    def caca1 ():
      temp = 1
      caca = 0
      temp2 = 0
      prout=1
      for i in M:
        res.append(i)
      for e in range (len(res)-3):
        if (len(res)-3) < 3 :
          if (len(res)-3) == 1 :
            print(CouleurChiffre(int(res[e])))
            print(CouleurChiffre(0))
            print(CouleurMult(0.1))
          if (len(res)-3) == 2 :
            if e==1 and res[e]!='k' and res[e]!='M' :
              print(CouleurChiffre(int(res[e])))
              print(CouleurMult(1))
            elif res[e] == 'k':
              print(CouleurChiffre(0))
              print(CouleurMult(10**2))
            elif res[e] == 'M':
              print(CouleurChiffre(0))
              print(CouleurMult(10**5))
            else :
              print(CouleurChiffre(int(res[e])))
        if (len(res)-3) > 2 :
          if res[e] in ['1','2','3','4','5','6','7','8','9','0'] and (e != 2):
            print(CouleurChiffre(int(res[e])))
          elif res[e] == '.' :
            if res[e+2] != 'k' and res[e+2] != 'M':
              print(CouleurChiffre(int(res[e+1])))
              print(CouleurMult(0.1))
            else :
              print(CouleurChiffre(int(res[e+1])))
              temp = 0.1
          elif (e == 2) and ( res[e] != 'k') and (res[e] != 'M') and res[e-1] != '.':
            if res[e] == '0' :
              caca = 10
            if res[e+1] != 'k' and res[e+1] != 'M':
              print(CouleurMult(caca))
          elif res[e] == 'k' :
            if caca == 10:
              temp2 = int(caca) * 10**3
            else :
              temp2 = temp * 10**3
            print(CouleurMult(temp2))
          elif res[e] == 'M' :
            if caca == 10:
              temp3 = int(caca) * 10**6
            else :
              temp3 = temp * 10**6
            print(CouleurMult(temp3))
        #elif res[e] != '.' and res[e-1] != '.':
          #print(Couleur(temp2))
     
    #def caca2 ():
      #resbis=""
      #for i in M:
        #res.append(i)
      #for e in range(len(res)):
        #if res[e] == ' ':
          #print(ChiffreCoul(resbis))
          #resbis = ""
        #else :
          #resbis += res[e]
        #if e == (len(res)-1) :
          #resbis += res[e]
          #print(MultCoul(res[e]))
     
     
     
    caca1()

  8. #8
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 221
    Par défaut
    hello,
    Citation Envoyé par Meton2 Voir le message
    Code de de couleur des résistances et condensateurs
    L’utilisateur saisit une chaîne de caractères (par exemple 4,7kOhm, 100Ohm ou 18nF), et le programme restitue le code couleur correspondant. Inversement, si l’utilisateur saisit une suite de 3 ou 4 couleurs, le programme donne les valeurs de la résistance et de la capacité correspondante, avec éventuellement la précision si la 4e couleur est donnée.
    la première chose à faire c'est de vérifier que la saisie est compréhensible par le programme et de redemander une saisie si cela est incorrect.
    Ami calmant, J.P

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    la première chose à faire c'est de vérifier que la saisie est compréhensible par le programme et de redemander une saisie si cela est incorrect.
    Il faut bien commencer par quelque chose!
    Personnellement, je commencerais plutôt par définir 2 fonctions: colors_to_value et value_to_colors qui prendront des arguments bien définis et vérifiables avec un jeu de tests.
    Çà va donner une cible pour savoir comment traduire 4,7kOhm en (chiffres significatifs, multiplicateur, tolérance).
    Et peut être simplifier la saisie car si on peut écrire kOhm, MOhm quand ce sera 10**2 ou 10**7 (autre chose que des multiples de 1000), il sera difficile de l'exprimer autrement que par une puissance de 10.

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

Discussions similaires

  1. [XL-365] Petit exercice sur les macros - Colorier des cases selon 2 conditions / Pas de MFC
    Par TruffExcel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/07/2020, 20h08
  2. Votre avis sur (en)codage texte des pages HTML
    Par cat75 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/10/2016, 16h31
  3. compatiblité IE et Firfox sur la couleur des bordures
    Par pyranha dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/02/2008, 22h50
  4. [MCD] Où trouver des exercices sur les MCD ?
    Par quaresma dans le forum Schéma
    Réponses: 4
    Dernier message: 24/01/2008, 22h27
  5. Réponses: 4
    Dernier message: 01/12/2006, 11h22

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