Heim Backend-Entwicklung Python-Tutorial Python implementiert das Lesen von Zeichenfolgen, deren Verteilung in Spalten und die Ausgabe in Zeilen

Python implementiert das Lesen von Zeichenfolgen, deren Verteilung in Spalten und die Ausgabe in Zeilen

Apr 17, 2018 am 11:56 AM
python 分配 字符串

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)
Nach dem Login kopieren


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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So laden Sie Deepseek Xiaomi herunter So laden Sie Deepseek Xiaomi herunter Feb 19, 2025 pm 05:27 PM

So laden Sie Deepseek Xiaomi herunter

Was sind die Vor- und Nachteile des Templatings? Was sind die Vor- und Nachteile des Templatings? May 08, 2024 pm 03:51 PM

Was sind die Vor- und Nachteile des Templatings?

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an Jul 01, 2024 am 07:22 AM

Google AI kündigt Gemini 1.5 Pro und Gemma 2 für Entwickler an

Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern May 06, 2024 pm 03:52 PM

Für nur 250 US-Dollar zeigt Ihnen der technische Leiter von Hugging Face Schritt für Schritt, wie Sie Llama 3 verfeinern

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks May 06, 2024 pm 04:43 PM

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks

Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen May 06, 2024 pm 02:00 PM

Eine vollständige Anleitung zum Debuggen und Analysieren von Golang-Funktionen

Wie fragst du ihn Deepseek? Wie fragst du ihn Deepseek? Feb 19, 2025 pm 04:42 PM

Wie fragst du ihn Deepseek?

Welche Software ist NET40? Welche Software ist NET40? May 10, 2024 am 01:12 AM

Welche Software ist NET40?

See all articles