Récemment, j'ai dû étudier Python, alors j'ai essayé de frapper 100 processus de langage. Premièrement, du chapitre 1: Mouvement préparatoire.
http://www.cl.ecei.tohoku.ac.jp/nlp100/
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).
q00='stressed'
print(q00[::-1])
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.
q01='Patatoku Kashii'
#print(q01[1]+q01[3]+q01[5]+q01[7])
# ->Version mise à jour
print(q01[1::2])
Obtenez la chaîne de caractères "Patatokukashi" en reliant alternativement les caractères "Pattocar" + "Tax" depuis le début.
q021='Voiture Pat'
q022='Taxi'
length=min(len(q021),len(q022))
ansq02=''
for i in range(length):
temp=q021[i]+q022[i]
ansq02+=temp
print(ansq02)
q021='Voiture Pat'
q022='Taxi'
ansq022="".join(i+j for i,j in zip(q021,q022))
print(ansq022)
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." En mots, et créez une liste du nombre de caractères (alphabétiques) de chaque mot par ordre d'apparition.
q03="Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
ansq03=[len(i.strip(",.")) for i in q03.split()]
print(ansq03)
Décomposez la phrase "Salut, il a menti parce que le bore ne pouvait pas oxyder le fluor. De nouvelles nations pourraient également signer une clause de sécurité de paix. Arthur King Can." En mots 1, 5, 6, 7, 8, 9, 15, 16, 19 Le premier mot est le premier caractère et les autres mots sont les deux premiers caractères, et le tableau associatif (type de dictionnaire ou type de carte) de la chaîne de caractères extraite à la position du mot (quel nombre de mots depuis le début) est créé. Créez-le.
q04="Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
dict={}
q04_list=[(i.strip(",.")) for i in q04.split()]
print(q04_list)
q04_listNum=[1, 5, 6, 7, 8, 9, 15, 16, 19]
for idx,val in enumerate(q04_list):
temp_char=val
idx += 1
if ((idx) in q04_listNum):
dict[temp_char[0]] = idx
else:
dict[temp_char[:2:1]] =idx
print(dict)
q05="I am an NLPer"
# bi-gram for char
char_bigram=[q05[i:i+2] for i in range(len(q05)-1)]
print(char_bigram)
# n-bigram for words
words=[(i.strip(".,")) for i in q05.split()]
words_bigram=["-".join(words[i:i+2]) for i in range(len(words)-1)]
print(words_bigram)
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.
import copy
def bigram(a):
result=[a[i:i+2] for i in range(len(a)-1)]
return result
q061="paraparaparadise"
q062="paragraph"
bigramX_list = copy.deepcopy(bigram(q061))
bigramY_list = copy.deepcopy(bigram(q062))
bigramX_set=set(bigramX_list)
bigramY_set=set(bigramY_list)
print ('bigramX_set =', bigramX_set)
print ('bigramY_set =', bigramY_set)
#Ensemble de somme
print ('Ensemble de somme= ', (bigramX_set | bigramY_set))
#Jeu de différences
print ('Jeu de différences= ', (bigramX_set - bigramY_set))
#Ensemble de produits
print ('Ensemble de produits= ', (bigramX_set & bigramY_set))
#Chercher
print ('Résultats de recherche= ', 'se' in (bigramX_set | bigramY_set))
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.
def maketext(x=1,y='Anko',z=10):
result="".join(str(x)+'de temps'+y+'Est'+str(z))
return result
x,y,z=12,'Température',22.4
print (maketext(x,y,z))
#print (maketext())
Implémentez le chiffrement de fonction qui convertit chaque caractère de la chaîne de caractères donnée selon les spécifications suivantes.
Remplacer par (219 --character code) caractères si minuscules Afficher les autres caractères tels quels Utilisez cette fonction pour crypter / décrypter les messages en anglais.
#Q08
def cipher(a):
temp_list=[a[i:i+1] for i in range(len(a))]
ciptex_list=[]
for i in temp_list:
texCode=ord(i)
if (texCode>96 & texCode<123):
updtexCode=chr(219-texCode)
else:
updtexCode=chr(texCode)
ciptex_list.append(updtexCode)
result="".join(i for i in ciptex_list)
return result
print (cipher('abcdef')) #=> 'zyxwyu'
import random
def randsort(a):
result = []
listA = [(i.strip(',.')) for i in a.split()]
randchar = lambda x: ''.join(random.sample(x,len(x)))
for i in listA:
if len(i) > 4:
temp_word=i[:1:1]+randchar(i[1:len(i)-1:1])+i[len(i)-1::1]
result.append(temp_word)
else:
result.append(i)
return (result)
q09="I couldn't believe that I could actually understand what I was reading : the phenomenal power of the human mind ."
print(randsort(q09))
Pour le moment, j'ai essayé d'écrire moi-même Python pour la première fois jusqu'à présent, mais j'ai fait beaucoup de recherches et appris beaucoup. Il y a peut-être d'autres moyens plus efficaces de le faire, mais pour l'instant, je vais le faire.
"Obtenir la valeur de code d'un caractère" / "Obtenir un caractère à partir d'une valeur de code" en Python http://d.hatena.ne.jp/flying-foozy/20111204/1323009984
HOWTO Unicode https://docs.python.jp/3/howto/unicode.html
Python: Comparez deux éléments de liste avec une opération d'ensemble de types http://www.yukun.info/blog/2008/08/python-set-list-comparison.html
3.7 type de jeu --set, frozenset http://docs.python.jp/2.5/lib/types-set.html
Recommended Posts