CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Need help python dictionnaire

AminAA
AminAA
Niveau 1
05 décembre 2020 à 15:44:15

Bonjour à tous, alors voilà notre professeur nous a demand de créer un dictionnaire anglais/francais et inversement sur les couleurs, sa je l'ai reussi sauf que maintenant il nous demande en plus de sa de rajouter au dictionnaire un mot qui n'y est pas déjà dedans. donc j'ai tester quelque lignes mais sa ne marche pas vraiment. Voici le code :


#!/usr/bin/python3

def creer_dictionnaire_inverse(Couleurs_fr_en):
    Couleurs_en_fr={}
    for x in Couleurs_fr_en:
        y = Couleurs_fr_en[x]
        Couleurs_en_fr[y]=x
    return Couleurs_en_fr

print("Bienvenue dans ce formidable outil de traduction français-anglais et vice-versa.")

Couleurs_fr_en = {"blanc":"white","rouge":"red","bleu":"blue","jaune":"yellow","vert":"green","noir":"black","violet":"purple","marron":"brown","gris":"grey","rose":"pink"}

quitter = False

Couleurs_en_fr = creer_dictionnaire_inverse(Couleurs_fr_en)

while not quitter:
    A = input("Couleur en anglais ou en français? ")
    if A in Couleurs_en_fr:
        print("Mot anglais dont la tradution française est:", Couleurs_en_fr[A])
        
    if A in Couleurs_fr_en:
        print("Mot français dont la traduction anglaise est:", Couleurs_fr_en[A])

    if A not in Couleurs_en_fr or Couleurs_fr_en:
        X = input("Désolé, je ne connais pas. A quelle langue appartient-il ? ")
        if X == "français":
            Y = input("Traduction Anglaise? ")
            print("Merci d'avoir ajouter cette traduction. On reprends...")
            Couleurs_en_fr.update({A:Y})
        if X == "anglais":
            Y = input("Traduction Française? ")
            print("Merci d'avoir ajouter cette traduction. On reprends...")
            Couleurs_fr_en.update({A:Y})
        
    if A == "" or A == "quitter":
        print("Merci d'avoir utiliser ce service et à bientôt.")
        break;

et voilà ce que j'obtiens:
Si je met une couleur qui n'est pas dans le dictionnaire comme "ivoire" il me demande correctement sa langue et sa traduction ensuite il reprend normalement sauf que si je met un mot qui est déjà dans le dictionnaire donc "rouge" par exemple sa me met bien "red" mais juste après il me dis qu'il ne connait pas alors que si, que faire pour que ça s'enlève sachant qu'après une traduction le programme tourne en boucle jusqu'à ce que je n'entre rien ou que je met quitter. https://image.noelshack.com/fichiers/2020/49/6/1607179443-2.jpg
Merci beaucoup pour votre aide.

Merci de votre aide.

Azerban
Azerban
Niveau 16
05 décembre 2020 à 18:15:07
#!/usr/bin/python3
# Coding: utf-8

# https://www.jeuxvideo.com/forums/42-47-65024094-1-0-1-0-need-help-python-dictionnaire.htm
# dictionnaire_fr_en.py

#!/usr/bin/python3

from typing import Dict


def create_reverse_dictionary(d: Dict) -> Dict:
    return {v: k for k, v in d.items()}


french_to_english = {  # FR to EN
    "blanc": "white",
    "rouge": "red",
    "bleu": "blue",
    "jaune": "yellow",
    "vert": "green",
    "noir": "black",
    "violet": "purple",
    "marron": "brown",
    "gris": "grey",
    "rose": "pink"}

english_to_french = create_reverse_dictionary(
    french_to_english)  # EN to FR

print("Bienvenue dans ce formidable outils de traduction français-anglais et vice-versa.")

while True:

    response = input(
        'Saisissez une couleur en anglais ou en français (q pour quitter) : ').lower()

    if response in french_to_english:
        print(
            f"Mot français dont la traduction anglaise est : {french_to_english[response]}")

    elif response in english_to_french:
        print(
            f"Mot anglais dont la traduction en français est : {english_to_french[response]}")

    elif response in ('q', 'quit', 'quitter', 'exit'):
        print("À bientôt !")
        break

    elif response not in (french_to_english or english_to_french):
        get_language = input(
            'Désolé, je ne connais pas cette couleur, précisez la langue (francais/anglais) : ')
        get_traduction = input(
            f"Précisez la traduction en {'anglais' if get_language == 'francais' else 'français'} : ")
        if get_language == 'francais':
            french_to_english[response] = get_traduction
        else:
            french_to_english[get_traduction] = response

    english_to_french = create_reverse_dictionary(
        french_to_english)  # EN to FR
AminAA
AminAA
Niveau 1
05 décembre 2020 à 23:21:21

Le 05 décembre 2020 à 18:15:07 Azerban a écrit :
#!/usr/bin/python3 # Coding: utf-8 # https://www.jeuxvideo.com/forums/42-47-65024094-1-0-1-0-need-help-python-dictionnaire.htm # dictionnaire_fr_en.py #!/usr/bin/python3 from typing import Dict def create_reverse_dictionary(d: Dict) -> Dict: return {v: k for k, v in d.items()} french_to_english = { # FR to EN "blanc": "white", "rouge": "red", "bleu": "blue", "jaune": "yellow", "vert": "green", "noir": "black", "violet": "purple", "marron": "brown", "gris": "grey", "rose": "pink"} english_to_french = create_reverse_dictionary( french_to_english) # EN to FR print("Bienvenue dans ce formidable outils de traduction français-anglais et vice-versa.") while True: response = input( 'Saisissez une couleur en anglais ou en français (q pour quitter) : ').lower() if response in french_to_english: print( f"Mot français dont la traduction anglaise est : {french_to_english[response]}") elif response in english_to_french: print( f"Mot anglais dont la traduction en français est : {english_to_french[response]}") elif response in ('q', 'quit', 'quitter', 'exit'): print("À bientôt !") break elif response not in (french_to_english or english_to_french): get_language = input( 'Désolé, je ne connais pas cette couleur, précisez la langue (francais/anglais) : ') get_traduction = input( f"Précisez la traduction en {'anglais' if get_language == 'francais' else 'français'} : ") if get_language == 'francais': french_to_english[response] = get_traduction else: french_to_english[get_traduction] = response english_to_french = create_reverse_dictionary( french_to_english) # EN to FR

Merci beaucoup, ton programme m'a beaucoup aider pour résoudre le miens et à comprendre mon erreur.
Encore Merci!

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment