Comment Séparer les Lettres à l'Intérieur d'une Liste?

0

La question

J'ai ce bout de code

First = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
First = list(First.split())
solve = " "
for i in First:
    solve += chr(int(i, base=8))
print(solve)

ce que j'ai collé dans, est de savoir comment séparer les lettres à l'intérieur d'une liste au lieu de les imprimer toute la lettre ensemble. J'ai essayé solve = (solve.split(",") for sep in solve) mais il me donne une erreur. ce que je vais faire exactement est de prendre un ord() la valeur de chaque lettre et d'en soustraire le 4 puis le retourner par str chr()

cryptography list python
2021-11-24 04:14:09
2

La meilleure réponse

1

Vous pouvez utiliser une liste de compréhension:

data = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
output = [chr(int(x, base=8)) for x in data.split()]
print(output) # ['j', 'r', 'j', 'e', 'r', 'w', 'h', 'z', 'k', 'r', 'e', 'x', 'a', '\x0e']

Si vous voulez juste utiliser votre code d'origine, puis il suffit de list(solve) va faire la liste des personnages. Mais notez qu'il y a (peut-être involontaire) vide au début de votre solve; cela se produit parce que vous avez initié solve avec " ", pas "".


Si vous voulez soustraire 4 de chaque entier de la représentation des personnages (comme vous l'avez expliqué dans la question), pour obtenir la chaîne de caractères, puis

data = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
output = ''.join(chr(int(x, base=8) - 4) for x in data.split())
print(output) # fnfansdvgnat]

de vous fournir un raccourci.

2021-11-24 04:25:02

Bien fonctionné, merci monsieur.
iis2h
0

Vous pouvez utiliser la liste directement à la place de la chaîne comme suit:

First = "152 162 152 145 162 167 150 172 153 162 145 170 141 16"
First = list(First.split())
solve = []
for i in First:
    solve.append( chr(int(i, base=8)))
print(solve)

Output: ['j', 'r', 'j', 'e', 'r', 'w', 'h', 'z', 'k', 'r', 'e', 'x', 'a', '\x0e']

Vous pouvez convertir résoudre à une chaîne comme ci-dessous:

''.join(solve)
2021-11-24 04:19:04

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................