[Python] Défiez 100 coups! (006-009)

À propos de l'histoire jusqu'à présent

Voir First Post

État de Knock

9/24 ajouté

006. Assemblée

Trouvez l'ensemble des bi-grammes de caractères contenus dans «paraparaparadise» et «paragraphe» comme X et Y, respectivement, et trouvez l'ensemble de somme, l'ensemble de produits et l'ensemble de différences de X et Y, respectivement. En outre, découvrez si le bi-gram'se'est inclus dans X et Y.

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("définir se_Vrai si inclus dans X",set_X.issuperset(set_msg3))
print("définir se_Vrai si inclus dans Y",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'}
définir se_Vrai si inclus dans X Vrai
définir se_Vrai Faux si inclus dans Y

Process finished with exit code 0

Impressions: SET est incroyable ... c'est trop pratique.

007. Génération de relevé par modèle

Implémentez une fonction qui prend les arguments x, y, z et renvoie la chaîne "y at x is z". De plus, définissez x = 12, y = "température", z = 22,4 et vérifiez le résultat de l'exécution.

template_007.py


from string import Template

def template_print(x,y,z):
    value ={'time':x,'name':y,'tempture':z}
    t = Template("$au moment$nom est$tempture")
    return print(t.substitute(value))

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

result


La température à 12 heures est de 22.4
Process finished with exit code 0

Impressions: j'ai découvert la fonction de modèle pour la première fois, mais je ne sais pas comment l'utiliser. .. ..

008. Cryptographie

Implémentez le chiffrement de fonction qui convertit chaque caractère de la chaîne de caractères donnée avec les spécifications suivantes. S'il s'agit d'un alphabet inférieur, remplacez-le par le caractère (219 - code de caractère). Les autres caractères sont affichés tels quels. Utilisez cette fonction pour crypter / décrypter les messages en anglais

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("Ancien msg=",msg)
    c = cipher(msg)
    print("chiffrement=",c)
    d = cipher(c)
    print("Décryptage=",d)

result


Ancien msg= Cipher_msg_012345
chiffrement= Crksvi_nht_012345
Décryptage= Cipher_msg_012345
Process finished with exit code 0

Impression: j'ai appris qu'elle ne peut pas être calculée comme une valeur de code ascii sans utiliser ord et chr. Et au début, j'ai préparé une autre fonction pour le traitement de décryptage, et j'ai pensé que l'ajout de 219 entraînerait un décryptage, mais ce n'était pas le cas.

  1. Typoglycemia Créez un programme qui réorganise aléatoirement l'ordre des autres caractères, en laissant le premier et le dernier caractère de chaque mot pour la chaîne de mots séparés par des espaces. Cependant, les mots d'une longueur de 4 ou moins ne sont pas réorganisés. Donnez une phrase en anglais appropriée ("Je ne pouvais pas croire que je pouvais réellement comprendre ce que je lisais: le pouvoir phénoménal de l'esprit humain.") Et vérifiez le résultat de l'exécution.

typoglycemia_010.py


from training.word2list_003 import word2list
import random

#Une fonction qui randomise les chaînes
#random_Renvoie msg
def random_word(word):
    random_msg=''
    for temp in word:
#Ne traitez pas moins de 4 caractères
        if(len(temp)<=4):
            random_msg += temp
            random_msg += " "
            continue
        else:
#Le début de la chaîne est le premier_Magasin dans str
#Le début de la chaîne est le dernier_Magasin dans str
            temp_length = len(temp)
            first_str= temp[0]
            last_str=temp[temp_length-1]
            random_word_list=[]
            random_word=''
            temp_random_list = []
#Ne pas traiter le début et la fin de la chaîne récupérée
#Liste des chaînes intermédiaires et aléatoires_word_Mettre en liste
            for index,temp_word in enumerate(temp):
                if(index==0 or index==temp_length-1):
                    continue
                else:
                    random_word_list.append(temp_word)
                continue
#Extrait aléatoirement de la chaîne de caractères répertoriée, temp_random_Mettre en liste
#Supprimer la chaîne de caractères extraite de la liste des sources d'extraction
            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 une liste aléatoire_Ajouter au mot
            for temp_word in temp_random_list:
                random_word+=temp_word
                continue
#Aléatoire en combinant premier, aléatoire et dernier_Mettre dans msg
            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: Il s'agit de prendre les valeurs au hasard et de supprimer les valeurs acquises de la liste.

Recommended Posts

[Python] Défiez 100 coups! (015 ~ 019)
[Python] Défiez 100 coups! (030-034)
[Python] Défiez 100 coups! (006-009)
[Python] Défiez 100 coups! (000-005)
[Python] Défiez 100 coups! (010-014)
[Python] Défiez 100 coups! (025-029)
[Python] Défiez 100 coups! (020-024)
journal des défis python ①
Défiez 100 coups de science des données
Python
Défi Spartacamp Python 2019 Day2
Pandas 100 coups pour les débutants en Python
Défiez Python3 et Selenium Webdriver
Défiez LOTO 6 avec Python sans discipline
Traitement d'image avec la binarisation Python 100 knocks # 3
# 2 Les débutants en Python défient AtCoder! ABC085C --Otoshidama
100 traitement d'image par Python Knock # 2 Échelle de gris
python kafka
Les bases de Python ⑤
Résumé Python
Python intégré
Technique Python
Étudier Python
Compte à rebours Python 2.7
Mémorandum Python
astuces python
fonction python ①
Les bases de Python
Mémo Python
ufo-> python (3)
Installer python
Python Singleton
Les bases de Python ④
Mémorandum Python 2
mémo python
Python Jinja2
100 traitement d'image avec Python Knock # 8 Max Pooling
Incrément Python
atCoder 173 Python
[Python] fonction
Installation de Python
Installer Python 3.4.3.
Essayez Python
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
[Python] Variables
Fonctions Python
Python sys.intern ()
Tutoriel Python
Fraction Python
underbar python C'est ce que
Résumé Python
Démarrer python
[Python] Trier
Remarque: Python
Les bases de Python ③
Sortie du journal python