À l'origine, j'étais un ingénieur réseau qui faisait tout le travail de conception, de construction et de maintenance d'un réseau interne, mais à un moment donné, je me suis impliqué dans la sécurité réseau interne. J'étais impliqué dans des opérations de sécurité en utilisant IPS et WAF, mais comme des choses que je ne savais pas du tout sortaient, je voulais en savoir plus sur la sécurité. À partir de là, lors de l'étude de la sécurité, il est devenu nécessaire de "gérer une grande quantité de journaux davantage comme souhaité", "d'automatiser le traitement" et "d'appliquer un simple code d'exploitation", j'ai donc décidé d'étudier python après avoir considéré diverses choses. .. Nous atteindrons ce défi. Je publierai le contenu du défi sur Qiita en tant que mémorandum.
Diplôme d'apprentissage du langage C à l'université Le développement d'applications consiste à développer des applications Web avec PHP il y a longtemps
Language processing 100 knocks 2015, fourni par le professeur Okazaki du laboratoire Inui-Okazaki de l'université de Tohoku. C'est un ensemble de problèmes. (Merci!)
PC:MacBookPro2016 IDE:pycharm version:anaconda3-4.1.1
9/24 ajouté
Obtenez une chaîne dans laquelle les caractères de la chaîne «souligné» sont disposés à l'envers (de la fin au début).
000.py
msg="stressed"
print(msg)
print(msg[::-1])
result
stressed
desserts
Process finished with exit code 0
Impressions: ajoutez simplement -1 dans l'option de tranche
Retirez les 1er, 3ème, 5ème et 7ème caractères de la chaîne de caractères "Patatokukashi" et obtenez la chaîne de caractères concaténée.
001.py
msg = "Patatoku Kashii"
print(msg)
msg_find = msg[::2]
print(msg_find)
result
Patatoku Kashii
Voiture Pat
Process finished with exit code 0
Impressions: ajoutez simplement l'option de tranche
Obtenez la chaîne de caractères "Patatokukashi" en reliant alternativement les caractères "Pattocar" + "Tax" depuis le début.
002.py
msg1 = "Voiture Pat"
msg2= "Taxi"
msg_add=''
for i in range(0,len(msg1)):
msg_add += msg1[i]
msg_add += msg2[i]
print(msg_add)
result
Patatoku Kashii
Process finished with exit code 0
Impression: Le sentiment de pour la phrase est différent du langage C ...
Décomposez la phrase "Maintenant, j'ai besoin d'un verre, alcoolique bien sûr, après les lourdes conférences sur la mécanique quantique." Créez une liste du nombre de caractères (dans l'alphabet) de chaque mot, classés par ordre d'apparition depuis le début.
word2list_003.py
# -*- coding: utf-8 -*-
def word2list(msg):
temp_msg = ''
list = []
for temp in msg:
temp=temp.rstrip(",.")
if(temp==' '):
list.append(temp_msg)
temp_msg=''
else:
temp_msg += temp
list.append(temp_msg)
return list
if __name__ == "__main__":
msg = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
list = []
num_list = []
temp = ''
list = word2list(msg)
for num in list:
num_list.append(len(num))
print(num_list)
result
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]
Process finished with exit code 0
Les impressions:, etc. ne sont pas complètement traitées. .. .. 8/18 Mise à jour du correctif
"Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can." Est décomposé en mots, et le premier, 5, 6, 7, 8, 9, 15, 16, 19e mot est le premier caractère, et les autres mots sont les deux premiers caractères. Créez un tableau associatif (type dictionnaire ou type map) à partir de la position du mot (quel numéro depuis le début).
word2dict_004.py
def word2dict(msg):
temp = ''
temp_msg = ''
temp_list=[]
i = 1
for temp in msg:
if(temp==' ' or temp=='. '):
temp_list.append((i, temp_msg))
temp_msg = ''
i = i + 1
else:
temp_msg+=temp
temp_list.append((i,temp_msg))
return temp_list
if __name__=="__main__":
msg = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
dic = {}
temp_list = []
temp_list = word2dict(msg)
for key,item in temp_list:
if(key==1 or key == 5 or key == 6 or key == 7or key == 8or key == 9or key == 15or key == 16or key == 19):
dic[key]=item[:1]
else:
dic[key]=item[:2]
print(dic)
result
{1: 'H', 2: 'He', 3: 'Li', 4: 'Be', 5: 'B', 6: 'C', 7: 'N', 8: 'O', 9: 'F', 10: 'Ne', 11: 'Na', 12: 'Mi', 13: 'Al', 14: 'Si', 15: 'P', 16: 'S', 17: 'Cl', 18: 'Ar', 19: 'K', 20: 'Ca'}
Process finished with exit code 0
Impressions: il semble y avoir un moyen plus intelligent pour l'instruction if
ngram_005.py
from training.word2list_003 import word2list
def ngram(msg,N,type):
if(type=='word'):
bigram_word=''
bigram_list=[]
temp_list=word2list(msg)
i=0
while(i < int(len(temp_list))-1):
#temp_Obtenir le nombre de mots avec la plage spécifiée par N à partir de la liste et du mot_Attribuer à la liste
word_list = temp_list[i:(N+i)]
for word in word_list:
bigram_word += word
continue
bigram_list.append(bigram_word)
bigram_word =''
i +=1
return bigram_list
elif(type=='char'):
temp_char_list=[]
temp_bigram_list=[]
bigram_char = ''
bigram_list = []
for temp_char in msg:
if(temp_char==' ' or temp_char==','):
continue
else:
temp_char_list.append(temp_char)
continue
i=0
#temp_Obtenez le nombre de caractères pour lequel la plage spécifiée par N est définie à partir de la liste et du mot_Attribuer à la liste
while(i<int(len(temp_char_list))-1):
temp_bigram_list=temp_char_list[i:(N+i)]
for char in temp_bigram_list:
bigram_char += char
continue
bigram_list.append(bigram_char)
bigram_char=''
i+=1
continue
return bigram_list
if __name__ == "__main__":
msg = "I am an NLPer"
N=2
type='char'
# type='word'
bigram_list = ngram(msg,N,type)
print(bigram_list)
result
type=Pour le char
['Ia', 'am', 'ma', 'an', 'nN', 'NL', 'LP', 'Pe', 'er']
Process finished with exit code 0
type=Pour mot
['Iam', 'aman', 'anNLPer']
Process finished with exit code 0
Impressions: qu'est-ce que ngram? Commencez par cet endroit. Est-ce vraiment un contenu pour débutant? .. .. a été difficile. .. ..
Recommended Posts