[PYTHON] 100 Amateur-Sprachverarbeitungsklopfen: 09

Es ist ein Herausforderungsrekord von 100 Sprachverarbeitungsklopfen 2015. Die Umgebung ist Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64-Bit). Klicken Sie hier, um eine Liste der vergangenen Schläge anzuzeigen (http://qiita.com/segavvy/items/fb50ba8097d59475f760).

Kapitel 1: Vorbereitende Bewegung

09.Typoglycemia

Erstellen Sie ein Programm, das die Reihenfolge der anderen Zeichen zufällig neu anordnet, wobei das erste und das letzte Zeichen jedes Wortes für die Wortfolge durch Leerzeichen getrennt bleiben. Wörter mit einer Länge von 4 oder weniger werden jedoch nicht neu angeordnet. Geben Sie einen geeigneten englischen Satz ein (zum Beispiel: "Ich konnte nicht glauben, dass ich tatsächlich verstehen konnte, was ich las: die phänomenale Kraft des menschlichen Geistes.") Und überprüfen Sie das Ausführungsergebnis.

Der fertige Code:

main.py


# coding: utf-8
import random


def Typoglycemia(target):
	'''Typogrisämie
Lassen Sie bei durch Leerzeichen getrennten Wortketten den ersten und den letzten Buchstaben jedes Wortes.
Ordne die Reihenfolge anderer Zeichen nach dem Zufallsprinzip neu an.
Wörter mit einer Länge von 4 oder weniger werden jedoch nicht neu angeordnet.

Streit:
	target --Zielzeichenfolge
Rückgabewert:
Konvertierte Zeichenfolge
	'''
	result = []
	for word in target.split(' '):
		if len(word) <= 4:
			result.append(word)
		else:
			chr_list = list(word[1:-1])
			random.shuffle(chr_list)
			result.append(word[0] + ''.join(chr_list) + word[-1])

	return ' '.join(result)

#Eingabe der Zielzeichenfolge
target = input('Bitte geben Sie eine Zeichenfolge ein--> ')

#Typogrisämie
result = Typoglycemia(target)
print('Konvertierungsergebnis:' + result)

Ausführungsergebnis:

Terminal


Bitte geben Sie eine Zeichenfolge ein--> I couldn't believe that I could actually understand what I was reading : the phenomenal power of the human mind .
Konvertierungsergebnis:I c'udnlot bievele that I colud aclautly utaedsrnnd what I was rainedg : the penomaenhl power of the human mind .

Logik der zufälligen Generierung

Ich habe random.shuffle () für die zufällige Sortierung verwendet. Mit dieser Funktion können Sie auch eine Zufallszahlengenerierungsfunktion angeben, die zum Sortieren verwendet werden soll. Da sie diesmal jedoch weggelassen wird, random.random () /random.html#random.random) wird verwendet. Die Generierungslogik in diesem Fall lautet [Mersenne Twister](https://ja.wikipedia.org/wiki/Mersenne Twister). Ich bin froh, dass standardmäßig hervorragende Zufallszahlen generiert werden.

Es gibt auch eine Warnung in Erklärung des Zufallsmoduls, aber da die von dieser Logik erzeugten Zufallszahlen vorhergesagt werden können, Es ist gefährlich, es zum Zwecke der Verschlüsselung zu verwenden. Bitte seien Sie vorsichtig.

Typogrisämie

Das Phänomen der Typoglykämie, das falsch, aber irgendwie lesbar ist, ist ziemlich interessant. Das Problem ist jedoch, dass Sie, wenn Sie nicht gut Englisch können, es nur lesen können, auch wenn die Schreibweise korrekt ist ...

Deshalb habe ich es auch auf Japanisch versucht. Im Fall von Japanisch ist es in Ordnung, auch nur 4 Zeichen neu anzuordnen. Dies ist also eine Version, bei der "Länge 4 oder weniger" in "Länge 3 oder weniger" geändert wird.

Der fertige Code:

main2.py


# coding: utf-8
import random


def Typoglycemia(target):
	'''Typo Grisemia [japanische Version]
Lassen Sie bei durch Leerzeichen getrennten Wortketten den ersten und den letzten Buchstaben jedes Wortes.
Ordne die Reihenfolge anderer Zeichen nach dem Zufallsprinzip neu an.
Wörter mit einer Länge von 3 oder weniger werden jedoch nicht neu angeordnet.

Streit:
	target --Zielzeichenfolge
Rückgabewert:
Konvertierte Zeichenfolge
	'''
	result = []
	for word in target.split(' '):
		if len(word) <= 3:
			result.append(word)
		else:
			chr_list = list(word[1:-1])
			random.shuffle(chr_list)
			result.append(word[0] + ''.join(chr_list) + word[-1])

	return ' '.join(result)

#Eingabe der Zielzeichenfolge
target = input('Bitte geben Sie eine Zeichenfolge ein--> ')

#Typogrisämie
result = Typoglycemia(target)
print('Konvertierungsergebnis:' + result)

Ausführungsergebnis:

Terminal


Bitte geben Sie eine Zeichenfolge ein-->Ich habe das Saikin Paison Benkyo gegründet, aber es ist ziemlich interessant, nicht wahr?
Konvertierungsergebnis:Watashihasakiin Paisons Benkyo und andere Dinge sind ziemlich interessant, nicht wahr?

Bei Japanern musste ich ein Leerzeichen in das Hiragana setzen, aber es wurde verständlich.

Dies ist Jinpoumes Nokku. Ich bin froh, dass du es kannst, wenn es dir nicht gefällt ^^

Recommended Posts

100 Amateur-Sprachverarbeitungsklopfen: 17
100 Amateur-Sprachverarbeitungsklopfen: 07
100 Amateur-Sprachverarbeitungsklopfen: 09
100 Amateur-Sprachverarbeitungsklopfen: 47
100 Amateur-Sprachverarbeitungsklopfen: 97
100 Amateur-Sprachverarbeitungsklopfen: 67
100 Amateur-Sprachverarbeitungsklopfen: Zusammenfassung
100 Sprachverarbeitungsklopfen (2020): 38
100 Sprachverarbeitung klopfen 00 ~ 02
100 Amateur-Sprachverarbeitungsklopfen: 41
100 Amateur-Sprachverarbeitungsklopfen: 71
100 Sprachverarbeitung klopfen 2020 [00 ~ 39 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 56
100 Amateur-Sprachverarbeitungsklopfen: 24
100 Amateur-Sprachverarbeitungsklopfen: 50
100 Sprachverarbeitung klopfen 2020 [00-79 Antwort]
100 Sprachverarbeitung klopfen 2020 [00 ~ 69 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 59
100 Amateur-Sprachverarbeitungsklopfen: 62
100 Amateur-Sprachverarbeitungsklopfen: 60
100 Sprachverarbeitung Knock 2020 Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 92
100 Amateur-Sprachverarbeitungsklopfen: 30
100 Amateur-Sprachverarbeitungsklopfen: 06
100 Amateur-Sprachverarbeitungsklopfen: 84
100 Sprachverarbeitung klopfen 2020 [00 ~ 49 Antwort]
100 Amateur-Sprachverarbeitungsklopfen: 81
100 Amateur-Sprachverarbeitungsklopfen: 33
100 Amateur-Sprachverarbeitungsklopfen: 46
100 Amateur-Sprachverarbeitungsklopfen: 88
100 Amateur-Sprachverarbeitungsklopfen: 89
100 Amateur-Sprachverarbeitungsklopfen: 40
100 Amateur-Sprachverarbeitungsklopfen: 45
100 Sprachverarbeitung Knock-52: Stemming
100 Amateur-Sprachverarbeitungsklopfen: 22
100 Amateur-Sprachverarbeitungsklopfen: 61
100 Amateur-Sprachverarbeitungsklopfen: 94
100 Amateur-Sprachverarbeitungsklopfen: 54
100 Amateur-Sprachverarbeitungsklopfen: 04
100 Sprachverarbeitung Knock Kapitel 1
100 Amateur-Sprachverarbeitungsklopfen: 78
100 Amateur-Sprachverarbeitungsklopfen: 12
100 Amateur-Sprachverarbeitungsklopfen: 14
100 Amateur-Sprachverarbeitungsklopfen: 42
100 Amateur-Sprachverarbeitungsklopfen: 19
100 Amateur-Sprachverarbeitungsklopfen: 98
100 Amateur-Sprachverarbeitungsklopfen: 83
100 Amateur-Sprachverarbeitungsklopfen: 95
100 Amateur-Sprachverarbeitungsklopfen: 32
100 Amateur-Sprachverarbeitungsklopfen: 96
100 Amateur-Sprachverarbeitungsklopfen: 87
100 Amateur-Sprachverarbeitungsklopfen: 72
100 Amateur-Sprachverarbeitungsklopfen: 79
100 Amateur-Sprachverarbeitungsklopfen: 23
100 Amateur-Sprachverarbeitungsklopfen: 05
100 Amateur-Sprachverarbeitungsklopfen: 00
100 Amateur-Sprachverarbeitungsklopfen: 02
100 Amateur-Sprachverarbeitungsklopfen: 37
100 Amateur-Sprachverarbeitungsklopfen: 21
100 Amateur-Sprachverarbeitungsklopfen: 68
100 Amateur-Sprachverarbeitungsklopfen: 11