[Python] Fordere 100 Schläge heraus! (006-009)

Über die bisherige Geschichte

Siehe Erster Beitrag

Klopfstatus

9/24 hinzugefügt

006. Versammlung

Suchen Sie den in "paraparaparadise" und "Absatz" enthaltenen Satz von Zeichen-Bi-Gramm als X bzw. Y und suchen Sie den Summensatz, den Produktsatz und den Differenzsatz von X bzw. Y. Finden Sie außerdem heraus, ob das Bi-Gramm in X und Y enthalten ist.

set_006.py


from training.bigram_005 import ngram

msg1 = "paraparaparadise"
msg2 = "paragraph"
msg3 = "se"

type = 'char'
X_list = ngram(msg1,2,type)
Y_list = ngram(msg2,2,type)
msg3_list = ngram(msg3,2,type)

set_X=set(X_list)
set_Y=set(Y_list)
set_msg3=set(msg3_list)

plus_list = set_X | set_Y
multi_list = set_X & set_Y
sub_list = set_X - set_Y

print("X_list=",X_list)
print("Y_list=",Y_list)
print("set_X=",set_X)
print("set_Y=",set_Y)
print("plus_list=",plus_list)
print("multi_list=",multi_list)
print("sub_list=",sub_list)
print("setze se_True, wenn in X enthalten",set_X.issuperset(set_msg3))
print("setze se_True, wenn in Y enthalten",set_Y.issuperset(set_msg3))

result


X_list= ['pa', 'ar', 'ra', 'ap', 'pa', 'ar', 'ra', 'ap', 'pa', 'ar', 'ra', 'ad', 'di', 'is', 'se']
Y_list= ['pa', 'ar', 'ra', 'ag', 'gr', 'ra', 'ap', 'ph']
set_X= {'ar', 'ap', 'ra', 'is', 'se', 'ad', 'pa', 'di'}
set_Y= {'ar', 'ap', 'ra', 'ag', 'pa', 'ph', 'gr'}
plus_list= {'ar', 'ap', 'ra', 'is', 'ag', 'se', 'ad', 'pa', 'ph', 'di', 'gr'}
multi_list= {'pa', 'ar', 'ap', 'ra'}
sub_list= {'ad', 'di', 'se', 'is'}
setze se_True, wenn in X True enthalten
setze se_Richtig Falsch, wenn in Y enthalten

Process finished with exit code 0

Impressionen: SET ist unglaublich ... es ist zu bequem.

007. Anweisungsgenerierung nach Vorlage

Implementieren Sie eine Funktion, die die Argumente x, y, z verwendet und die Zeichenfolge "y bei x ist z" zurückgibt. Setzen Sie außerdem x = 12, y = "Temperatur", z = 22,4 und überprüfen Sie das Ausführungsergebnis.

template_007.py


from string import Template

def template_print(x,y,z):
    value ={'time':x,'name':y,'tempture':z}
    t = Template("$zum Zeitpunkt$Name ist$tempture")
    return print(t.substitute(value))

if __name__ == "__main__":
    x=12
    y='Temperatur'
    z=22.4
    template_print(x,y,z)

result


Die Temperatur um 12 Uhr ist 22.4
Process finished with exit code 0

Impressionen: Ich habe zuerst etwas über die Vorlagenfunktion gelernt, weiß aber nicht, wie ich sie verwenden soll. .. ..

008. Kryptographie

Implementieren Sie die Funktionsverschlüsselung, die jedes Zeichen der angegebenen Zeichenfolge mit den folgenden Spezifikationen konvertiert. Wenn es sich um ein niedrigeres Alphabet handelt, ersetzen Sie es durch das Zeichen (219 - Zeichencode). Andere Zeichen werden so ausgegeben, wie sie sind. Verwenden Sie diese Funktion, um englische Nachrichten zu verschlüsseln / entschlüsseln

cipher_008.py


import re

def cipher(msg):
    pattern = re.compile("[a-z]")
    cipher_msg = ''
    for temp in msg:
        if pattern.match(temp):
            cipher_msg += chr(219-ord(temp))
            continue
        else:
            cipher_msg += temp
            continue
    return  cipher_msg

if __name__=="__main__":
    msg = "Cipher_msg_012345"
    print("Ehemalige Nachricht=",msg)
    c = cipher(msg)
    print("Verschlüsselung=",c)
    d = cipher(c)
    print("Entschlüsselung=",d)

result


Ehemalige Nachricht= Cipher_msg_012345
Verschlüsselung= Crksvi_nht_012345
Entschlüsselung= Cipher_msg_012345
Process finished with exit code 0

Impression: Ich habe gelernt, dass es ohne Verwendung von ord und chr nicht als Wert von ASCII-Code berechnet werden kann. Zuerst bereitete ich eine andere Funktion für die Entschlüsselungsverarbeitung vor und dachte, dass das Hinzufügen von 219 zur Entschlüsselung führen würde, aber das war nicht der Fall.

  1. 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 passenden englischen Satz ("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.

typoglycemia_010.py


from training.word2list_003 import word2list
import random

#Eine Funktion, die Strings randomisiert
#random_Gibt msg zurück
def random_word(word):
    random_msg=''
    for temp in word:
#Verarbeiten Sie nicht weniger als 4 Zeichen
        if(len(temp)<=4):
            random_msg += temp
            random_msg += " "
            continue
        else:
#Der Anfang der Zeichenfolge ist zuerst_In str
#Der Anfang der Zeichenfolge ist der letzte_In str
            temp_length = len(temp)
            first_str= temp[0]
            last_str=temp[temp_length-1]
            random_word_list=[]
            random_word=''
            temp_random_list = []
#Verarbeiten Sie nicht den Anfang und das Ende der abgerufenen Zeichenfolge
#Listen Sie Zwischenzeichenfolgen und zufällige Zeichenfolgen auf_word_Liste einfügen
            for index,temp_word in enumerate(temp):
                if(index==0 or index==temp_length-1):
                    continue
                else:
                    random_word_list.append(temp_word)
                continue
#Zufällig aus der aufgelisteten Zeichenkette extrahiert, temp_random_Liste einfügen
#Löschen Sie die extrahierte Zeichenfolge aus der Liste der Extraktionsquellen
            for i in range(len(random_word_list)):
                temp_random_list.append(random.choice(random_word_list))
                random_word_list.remove(temp_random_list[i])
                continue
#Temp eine zufällige Liste_Zum Wort hinzufügen
            for temp_word in temp_random_list:
                random_word+=temp_word
                continue
#Zufällig durch Kombination von first, random und last_Geben Sie msg ein
            random_msg += (first_str + random_word + last_str)
            random_msg += " "

    return  random_msg

if __name__ == "__main__":
    msg = "I couldn't believe that I could actually understand what I was reading : the phenomenal power of the human mind ."
    word = word2list(msg)
    random = random_word(word)
    print(random)

result


I cdlonu't beivele that I could alalutcy uanserntdd what I was rindeag : the paeemnonhl pweor of the hmuan mind . 
Process finished with exit code 0

Impression: Der Punkt ist, die Werte zufällig zu nehmen und die erfassten Werte aus der Liste zu löschen.

Recommended Posts

[Python] Fordere 100 Schläge heraus! (015 ~ 019)
[Python] Fordere 100 Schläge heraus! (030-034)
[Python] Fordere 100 Schläge heraus! (006-009)
[Python] Fordere 100 Schläge heraus! (000-005)
[Python] Fordere 100 Schläge heraus! (010-014)
[Python] Fordere 100 Schläge heraus! (025-029)
[Python] Fordere 100 Schläge heraus! (020-024)
Python-Challenge-Tagebuch ①
Fordern Sie 100 Data Science-Schläge heraus
Python
Spartacamp Python 2019 Day2 Challenge
100 Pandas klopfen für Python-Anfänger
Fordern Sie Python3 und Selenium Webdriver heraus
Fordern Sie LOTO 6 mit Python ohne Disziplin heraus
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
# 2 Python-Anfänger fordern AtCoder heraus! ABC085C --Otoshidama
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Kafka Python
Python-Grundlagen ⑤
Python-Zusammenfassung
Eingebaute Python
Python-Technik
Python studieren
Python 2.7 Countdown
Python-Memorandum
Python-Tipps
Python-Funktion ①
Python-Grundlagen
Python-Memo
Ufo-> Python (3)
Installieren Sie Python
Python Singleton
Python-Grundlagen ④
Python-Memorandum 2
Python-Memo
Python Jinja2
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
Python-Inkrement
atCoder 173 Python
[Python] -Funktion
Python-Installation
Python installieren 3.4.3.
Versuchen Sie Python
Python-Memo
Python iterativ
Python-Algorithmus
Python2 + word2vec
[Python] -Variablen
Python-Funktionen
Python sys.intern ()
Python-Tutorial
Python-Fraktion
Python Underbar Das ist was
Python-Zusammenfassung
Starten Sie Python
[Python] Sortieren
Hinweis: Python
Python-Grundlagen ③
Python-Protokoll ausgeben