Tengo un código secreto que quiero decodificar.

Obtuve un alfabeto no con letras, sino con emojis. El primer emoji es A, el segundo es B, el tercero es C, etc.

🎅 = A
🤶 = B
❄ = C
⛄ = D

Todo mi alfabeto de emoji es el siguiente:

alphabet_emoji = "🎅🤶❄⛄🎄🎁🕯🌟✨🔥🥣🎶🎆👼🦌🛷"

Ahora quiero asignar cada emoji a su letra usando un diccionario. Probé el siguiente código:

replacement_dictionary[emoji] = str(letter);

Sin embargo, esto me da un error:

NameError: el nombre 'reemplazo_diccionario' no está definido

Mi código completo

# Input
alphabet_emoji = "🎅🤶❄⛄🎄🎁🕯🌟✨🔥🥣🎶🎆👼🦌🛷"
alphabet_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'


# Connect emoji to alpabet
print("Length: " + str(len(alphabet_emoji)))
print("Emoji\tUnicode\tOccurrence\tLetter")
counter = Counter(alphabet_emoji)
x = 0
for emoji in alphabet_emoji:
    unicode = f'U+{ord(emoji):X}'
    occurrence = counter[emoji]
    letter = alphabet_uppercase[x]
    print(emoji + "\t" + unicode + "\t" + str(occurrence) + "\t" + letter)

    # Add to dictionary
    replacement_dictionary[emoji] = str(letter);


    # Counter
    x=x+1

CÓDIGO QUE RESUELVE EL PROBLEMA CON EL COMENTARIO Sr. Hobo

# Input
alphabet_emoji = "🎅🤶❄⛄🎄🎁🕯🌟✨🔥🥣🎶🎆👼🦌🛷"
alphabet_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'


# Connect emoji to alpabet
print("\nHexmax A")
print("Length: " + str(len(alphabet_emoji)))
print("Emoji\tUnicode\tOccurrence\tLetter")
counter = Counter(alphabet_emoji)
replacement_dictionary = dict()
x = 0
for emoji in alphabet_emoji:
    unicode = f'U+{ord(emoji):X}'
    occurrence = counter[emoji]
    letter = alphabet_uppercase[x]
    print(emoji + "\t" + unicode + "\t" + str(occurrence) + "\t" + letter)

    # Add to dictionary
    replacement_dictionary[emoji] = str(letter);

    x = x+1
-4
Europa 9 dic. 2020 a las 14:04

2 respuestas

La mejor respuesta

Nunca / no definiste la variable replacement_dictionary, pero accedes (editas) a ella. Quizás este sea el código correcto ...

# Input
alphabet_emoji = "🎅🤶❄⛄🎄🎁🕯🌟✨🔥🥣🎶🎆👼🦌🛷"
alphabet_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'


# Connect emoji to alpabet
print("Length: " + str(len(alphabet_emoji)))
print("Emoji\tUnicode\tOccurrence\tLetter")

counter = Counter(alphabet_emoji)

# Fixed here
replacement_dictionary = {}

# Loop(s)
for emoji in alphabet_emoji:
    unicode = f'U+{ord(emoji):X}'
    occurrence = counter[emoji]
    letter = alphabet_uppercase[x]
    
    print(emoji + "\t" + unicode + "\t" + str(occurrence) + "\t" + letter)
    
    # Add to dictionary
    replacement_dictionary[emoji] = str(letter);

O si desea usar ** en lugar de replacement_dictionary[...], aquí está el código ...

# Input
alphabet_emoji = "🎅🤶❄⛄🎄🎁🕯🌟✨🔥🥣🎶🎆👼🦌🛷"
alphabet_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'


# Connect emoji to alpabet
print("Length: " + str(len(alphabet_emoji)))
print("Emoji\tUnicode\tOccurrence\tLetter")

counter = Counter(alphabet_emoji)

# Fixed here
replacement_dictionary = {}

# Loop(s)
for emoji in alphabet_emoji:
    unicode = f'U+{ord(emoji):X}'
    occurrence = counter[emoji]
    letter = alphabet_uppercase[x]
    
    print(emoji + "\t" + unicode + "\t" + str(occurrence) + "\t" + letter)
    
    # Add to dictionary
    replacement_dictionary = {emoji: str(letter), **replacement_dictionary};
1
FaranAiki 9 dic. 2020 a las 11:10

Primero defina el diccionario;

your_dict = {}

O

your_dict = dict()
0
Irfan wani 9 dic. 2020 a las 11:12
65215520