Jak Oddělit Dopisy Uvnitř Seznamu?

0

Otázka

Mám tento kus kódu

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)

to, co jsem uvízl v, je, jak se jednotlivá písmena uvnitř seznam místo toho, vytisknout všechny dopis spolu. Snažil jsem se solve = (solve.split(",") for sep in solve) ale to je mi k chybě. to, co jsem bude dělat přesně to je ord() hodnota každého dopisu a odečíst 4 a pak jej vrátit do str u chr()

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

Nejlepší odpověď

1

Můžete použít seznam s porozuměním:

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']

Pokud si jen chcete používat svůj původní kód, pak jednoduše list(solve) bude se seznam znaků. Ale všimněte si, že tam je (možná neúmyslné) prázdný na začátku solve; to se děje proto, že jste iniciátorem solve s " "ne "".


Pokud chcete odečíst 4 z každé celé číslo zastoupení znaků (jak je vysvětleno v otázce), aby se řetězec, pak

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]

by poskytnout vám s zástupce.

2021-11-24 04:25:02

Funguje dobře, díky, pane.
iis2h
0

Můžete použít seznam přímo namísto řetězec takto:

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']

Můžete převést řešení na řetězec, jak je uvedeno níže:

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

V jiných jazycích

Tato stránka je v jiných jazycích

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