Je me demandais s'il y avait un site où je pourrais pratiquer python (3.X) pour tuer le temps, mais j'ai trouvé un site appelé Knock 2015 avec 100 traitements de langage, donc j'ai essayé seulement les cinq premiers problèmes. http://www.cl.ecei.tohoku.ac.jp/nlp100/
Veuillez indiquer s'il y a quelque chose qui ne va pas avec cela.
Récupère une chaîne dans laquelle les caractères de la chaîne "accentués" sont disposés à l'envers (de la fin au début).
00.py
s = "stressed"
print(s[::-1])
desserts
Dans s [i: j: k], cela signifie que k morceaux de s [j-1] sont sautés de s [i], donc s [:: -1] signifie de la fin au début un par un. Droite.
Retirez les 1er, 3e, 5e et 7e caractères de la chaîne de caractères "Patatokukashi" et récupérez la chaîne de caractères concaténée.
01.py
s = "Patatoku Kashii"
print(s[::2])
Voiture Pat
C'est une application de 00. (Je ne peux penser à rien en particulier)
Récupérez la chaîne de caractères "Patatokukashi" en reliant alternativement les caractères "Pattocar" + "Tax" depuis le début.
02.py
s = ""
for i,j in zip("Voiture Pat", "Taxi"):
s += i+j
print(s)
Patatoku Kashii
Il y avait une fonction zip pratique qui vous permet de parcourir plusieurs séquences à la fois, vous pouvez donc l'utiliser pour rassembler les caractères un par un et les coller ensemble.
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."
03.py
s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
count_list = []
for i in s.split():
count_list.append(len(i.strip(",.")))
print(count_list)
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]
Quand j'ai vu ce problème pour la première fois, où était le facteur du rapport de circonférence? J'ai pensé, Si vous regardez de plus près, c'est comme ça ... ~~ C'est trop agressif ~~
La façon de faire est de séparer les chaînes avec split (), de supprimer les ',' et '.' Avec strip, et obtenir le nombre de caractères avec len (). On a l'impression de traiter en boucle autant que cela est divisé.
Décomposez la phrase "Salut, il a menti parce que le bore ne pouvait pas oxyder le fluor. Les nouvelles nations pourraient également signer la clause de sécurité de la paix. Arthur King Can." Le 19e mot est le premier caractère, et les autres mots sont les deux premiers caractères, et le tableau associatif (type 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) Créer.
04.py
s = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
dict = {}
for (i, w) in enumerate(s.replace(".", "").split(), 1):
if i in (1,5,6,7,8,9,15,16,19):
dict.update({w[0]:i})
else:
dict.update({w[:2]:i})
print(dict)
{'H': 1, 'He': 2, 'Li': 3, 'Be': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, 'F': 9, 'Ne': 10, 'Na': 11, 'Mi': 12, 'Al': 13, 'Si': 14, 'P': 15, 'S': 16, 'Cl': 17, 'Ar': 18, 'K': 19, 'Ca': 20}
J'ai utilisé la fonction enumerate pour obtenir l'élément avec un index lors de la boucle. Avec cela, obtenez la chaîne de caractères et l'index avec le «.» Supprimé, et seulement le premier caractère pour le 1,5,6,7,8,9,15,16,19e, et jusqu'au deuxième caractère sinon. , Et ainsi de suite, écrivez une instruction if et vous avez terminé.
J'ai vu le symbole de l'élément après un long moment. ~~ Au fait, qu'est-ce que Mi? ~~
J'aimerais continuer quand j'en ai envie.
Recommended Posts