Heim >Backend-Entwicklung >Python-Tutorial >Python implementiert das Lesen von Zeichenfolgen, deren Verteilung in Spalten und die Ausgabe in Zeilen
In diesem Artikel wird hauptsächlich die Python-Implementierung zum Lesen von Zeichenfolgen, deren Verteilung in Spalten und deren Ausgabe in Zeilen vorgestellt. Dazu gehören Pythons Fähigkeiten zum Durchlaufen, Bewerten, Berechnen und anderen verwandten Operationen für Zeichenfolgen.
Das Beispiel in diesem Artikel beschreibt die Python-Implementierung zum Lesen von Zeichenfolgen, deren Verteilung nach Spalten und der anschließenden Ausgabe nach Zeilen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Frage:
Geben Sie eine Zeichenfolge und eine Zahl ein, die die Zahl darstellt In wie viele Zeilen es unterteilt ist, muss gemäß der angegebenen Spaltenspeichermethode gespeichert und dann durch Zeilenspleißen ausgelesen werden, z. B.:
Eingabe: TNGDWXAZQSCVBK, 3
Ausgabe: TWQBNDXZSVKGAC
Bei der Zwischenkonvertierung wird folgende Zahl gebildet:
T W Q K
N D X Z S V B
G A C
in eine Matrix. Vielleicht können Sie es klarer sehen:
T 0 W 0 Q 0 B
N D X Z S V K
G 0 A 0 C 0 0
0 wird als Leerzeichen verwendet. Füllen Sie es aus und sehen Sie sich die spezifische Implementierung unten an:
#!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:zigzag_pattern T W Q K N D X Z S V B G A C convert("TNGDWXAZQSCVBK", 3) should return "TWQBNDXZSVKGAC". ''' def convert_test(one_str,num): ''''' ''' mod=len(one_str)%(num+1) if mod==0: cols=(len(one_str)/(num+1))*2 else: cols=(len(one_str)/(num+1))*2+1 rows=num #print 'rows, cols', rows, cols matrix=[] for i in range(rows): matrix.append([0]*cols) one_str_list=list(one_str) for j in range(cols): if j%2==0: for i in range(rows): if len(one_str_list): matrix[i][j]=one_str_list.pop(0) else: matrix[1][j]=one_str_list.pop(0) #print matrix # for one in matrix: # one_list=[str(onec) for onec in one] # print ' '.join(one_list) res='' for one_list in matrix: one_list=[str(one) for one in one_list] res+=''.join(one_list) return ''.join(res.split('0')) if __name__ == '__main__': print convert_test("TNGDWXAZQSCVBK", 3) print convert_test("PAYPALISHIRING", 2) print convert_test("PAYPALISHIRING", 4)
Das Ergebnis lautet wie folgt:
TWQBNDXZSVKGAC
PPIINAYALSHRIG
PLRAAIIIYSNPHG
[Fertig in 0,3s]
Verwandte Empfehlungen:
Python implementiert eine Methode zur Lösung von Problemen mit der Klammerzuordnung
Verwendung von Python zur Implementierung von Anmelde- und Registrierungsfunktionen für Webbenutzer
Das obige ist der detaillierte Inhalt vonPython implementiert das Lesen von Zeichenfolgen, deren Verteilung in Spalten und die Ausgabe in Zeilen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!