0
votes

Faire dictionnaire avec la boucle de Python

Je veux créer un dictionnaire à Python avec 40 paires de clé / valeur. Ils devraient être A1, A2 ... A10, B1, B2 ... B10, C1, C2 ... C10, D1, D2 ... D10. J'ai un pour la boucle qui prend deux variables et les modifie afin qu'ils changent après chaque boucle. Il boucle 40 fois pour créer 40 valeurs différentes pour chacune des deux variables.

Dans le dictionnaire, la valeur de la clé A1 doit être la valeur de x et y dans la première boucle. La valeur de la clé A2 devrait être la valeur de X et Y dans la deuxième boucle. Cela continue à la clé D10 qui devrait avoir la valeur de X et Y dans la 40ème boucle. P>

Comment puis-je faire cela? Je pense que je peux utiliser une boucle pour boucle, mais depuis que je lutterai avec la compréhension des boucles, je ne sais pas ce que je devrais faire. p>

Voici mon code: P>

x = 200
y = 202

for i in range(40):
    if y != 202 + 9 * 84:
        y += 84
    else:
        x += 100
        y = y - 9 * 84


0 commentaires

3 Réponses :


1
votes
letters = "abcd"
dictionary = {}

x = 200
y = 202

for i in range(40):
    key = letters[int(i / 10)] + str(i % 10 + 1)
    dictionary[key] = x, y

    if y != 202 + 9 * 84:
        y += 84
    else:
        x += 100
        y = y - 9 * 84

5 commentaires

Traceback (dernier appel en dernier): fichier "/path/path/path/file.py", ligne 13, dans touche = lettres [int (i / 10 - 1)] + i% 10 typeError: doit être Str, pas int


@greengrass Veuillez essayer la nouvelle version.


Il semble que cela fonctionnait très bien. Je vérifierai si c'est exactement ce que je voulais.


Je verrai aussi un peu l'autre réponse à voir si je peux apprendre quelque chose


On dirait que cela faisait exactement ce dont j'avais besoin.



0
votes

Voici une solution élégante qui garde une trace de la lettre et du nombre et les formate dans la clé à l'aide de Fstring.

{'a1': (200, 202), 'a2': (200, 286), 'a3': (200, 370), 'a4': (200, 454), 'a5': (200, 538), 'a6': (200, 622), 'a7': (200, 706), 'a8': (200, 790), 'a9': (200, 874), 'a10': (200, 958), 'b1': (300, 202), 'b2': (300, 286), 'b3': (300, 370), 'b4': (300, 454), 'b5': (300, 538), 'b6': (300, 622), 'b7': (300, 706), 'b8': (300, 790), 'b9': (300, 874), 'b10': (300, 958), 'c1': (400, 202), 'c2': (400, 286), 'c3': (400, 370), 'c4': (400, 454), 'c5': (400, 538), 'c6': (400, 622), 'c7': (400, 706), 'c8': (400, 790), 'c9': (400, 874), 'c10': (400, 958), 'd1': (500, 202), 'd2': (500, 286), 'd3': (500, 370), 'd4': (500, 454), 'd5': (500, 538), 'd6': (500, 622), 'd7': (500, 706), 'd8': (500, 790), 'd9': (500, 874), 'd10': (500, 958)}


0 commentaires

0
votes

Ce qui suit est uniquement basé sur ce que les 40 itérations proviennent de l'annonce X 1-10, alors je me suis débarrassé de votre boucle pour la boucle.

{'a1': (200, 202), 'a2': (200, 286), 'a3': (200, 370), 'a4': (200, 454), 'a5': (200, 538), 'a6': (200, 622), 'a7': (200, 706), 'a8': (200, 790), 'a9': (200, 874), 'a10': (200, 958), 'b1': (300, 202), 'b2': (300, 286), 'b3': (300, 370), 'b4': (300, 454), 'b5': (300, 538), 'b6': (300, 622), 'b7': (300, 706), 'b8': (300, 790), 'b9': (300, 874), 'b10': (300, 958), 'c1': (400, 202), 'c2': (400, 286), 'c3': (400, 370), 'c4': (400, 454), 'c5': (400, 538), 'c6': (400, 622), 'c7': (400, 706), 'c8': (400, 790), 'c9': (400, 874), 'c10': (400, 958), 'd1': (500, 202), 'd2': (500, 286), 'd3': (500, 370), 'd4': (500, 454), 'd5': (500, 538), 'd6': (500, 622), 'd7': (500, 706), 'd8': (500, 790), 'd9': (500, 874), 'd10': (500, 958)}


0 commentaires