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
2 respuestas
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};
Primero defina el diccionario;
your_dict = {}
O
your_dict = dict()
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.