[Une addition] Cliquez ici pour 05-06 Une personne inexpérimentée en Python essaie de frapper 100 traitement du langage 05-06 https://qiita.com/earlgrey914/items/e772f1b7e5efea114e1d Cliquez ici pour le 07-09 Une personne inexpérimentée en Python essaie de frapper 100 traitement du langage 07-09 https://qiita.com/earlgrey914/items/a7b6781037bc0844744b
100 traitements linguistiques frappent 2015
https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/245698
** Profil de l'auteur (important) ** Aucune expérience d'apprentissage de base de Python. Un niveau où vous pouvez copier et déplacer l'échantillon posé sur le net. J'ai un peu touché Java dans les exercices universitaires. Le poste actuel n'est pas un programmeur.
** (Important) Cet article n'écrit pas la réponse correcte et belle, mais enregistre le processus par lequel une personne du niveau ci-dessus est parvenue à la réponse. ** **
Il y avait une réponse sur la page qui a été frappée par googlé "Inversion de chaîne de caractères Python". https://qiita.com/Hawk84/items/ecd0c7239e490ea22308
enshu0.py
str = "stressed"
str = str[::-1]
print(str)
dessert
Je ne sais pas ce que signifie «[:: -1]».
~ 5 minutes googlé ~ Apparemment, python a une fonction appelée slice, qui coupe les chaînes de caractères et les listes. Si vous écrivez «[0: 3]» **, il renverra 3 caractères ** du 1er (0) au 3e (3) de la chaîne de caractères. C'est vraiment difficile à comprendre ici. ** Ne pensez-vous pas que si vous commencez normalement à partir de 0 et comptez jusqu'à 3, il renverra les 4 caractères 0,1,2,3? (Plainte) **
alors,
Si vous voulez spécifier du début à la fin, vous pouvez écrire [:]
.
Les tranches sont écrites comme «[from here: to here]», mais elles peuvent être omises dans le cas du début et de la fin, ainsi elles peuvent être écrites comme «[:]».
alors,
Il semble que si vous ajoutez [-1]
à la fin, la chaîne de caractères sera inversée et retournée.
Donc, si vous écrivez [:: -1]
, il inversera du début à la fin et le retournera.
URL de référence
https://www.sejuku.net/blog/44850
enshu01.py
str = "Patatoku Kashii"
str = str[::2]
print(str)
Voiture Pat
J'ai été recherché sur Google sur les tranches il y a quelque temps, alors j'ai rapidement réalisé que je pouvais aussi utiliser des tranches. La description de «[:: 2]» semble signifier «[du début à la fin: le premier numéro de caractère est 1, et le premier caractère + 2 caractères sont coupés]». Par conséquent, les 1er, 3e, 5e et 7e caractères du début à la fin peuvent être extraits. Si vous voulez sortir "taxi", vous pouvez utiliser la première lettre comme ta, donc ce qui suit est OK.
enshu01_2.py
str = "Patatoku Kashii"
str = str[1::2]
print(str)
Taxi
Cela signifie «[du second caractère (1) à la fin: avec le premier numéro de caractère 1, découpez le premier caractère + 2 chacun]».
J'ai trébuché. Avec la connaissance de Java, vous pouvez écrire une telle instruction for, mais est-ce si bon?
dousshiyou.java
String patoka = "Voiture Pat";
String takushi = "Taxi";
int n = patoka.length();
String answer = "";
for (int i = 0; i < n; i++){
answer = answer +Le i-ème personnage coupé de la voiture de patrouille personnage par personnage
answer = answer +I-ème lettre tranchée caractère de taxi par caractère
}
Probablement pas ... Je ne sais pas si vous pouvez écrire un document for comme for (int i = 0; i <n; i ++)
en Python.
Le questionneur a probablement une réponse différente.
(Ce java est écrit uniquement en transcrivant l'image dans le cerveau, veuillez donc ne pas jouer avec la notation, etc.)
~ 10 minutes sur Google ~ En conséquence, je n'ai pas obtenu de bonne réponse. Lorsque j'ai écrit correctement la déclaration for, j'ai trouvé ce qui suit
tekitou.py
str_p = "Voiture Pat"
for i in str_p:
print(i)
Pennsylvanie
À
Puissance
-
D'une manière ou d'une autre, chaque caractère est sorti, non?
De plus, il semble que vous puissiez traiter deux listes en même temps en utilisant quelque chose appelé zip ()
Référence
https://uxmilk.jp/13726
Alors est-ce que tout va bien?
enshu02.py
str_p = "Voiture Pat"
str_t = "Taxi"
answer = ""
for p,t in zip(str_p,str_t):
answer = answer + p
answer = answer + t
print(answer)
Patatoku Kashii
Je me demande quoi. Eh bien, j'ai pu le faire. Les réponses seront appariées plus tard ...
Cela semble facile.
Je sais que vous pouvez lister des chaînes séparées par des caractères arbitraires avec split ()
.
lisitka.py
str = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
list = str.split()
print(list)
['Now', 'I', 'need', 'a', 'drink,', 'alcoholic', 'of', 'course,', 'after', 'the', 'heavy', 'lectures', 'involving', 'quantum', 'mechanics.']
Ensuite, obtenez simplement la longueur de la chaîne de caractères dans la liste.
koredeiinoka.py
s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
list = s.split()
answer = ""
for i in list:
answer = answer + str(len(i))
print(answer)
3141692753589710
Cette fois, j'ai arrêté de nommer la variable qui stocke la chaîne de caractères str
.
J'ai appris à utiliser str ()
lors de la conversion d'un nombre en une chaîne, mais je le porte.
Au fait, ʻanswer = answer + str (len (i)) `n'est pas un bon moyen de combiner des chaînes, donc je veux le faire ...
Donc, si la réponse est correcte ** Quelque chose de ... différent, n'est-ce pas? ** **
Même si la question est "Créer une liste", elle est renvoyée sous forme de chaîne de caractères, 3.141592 ... Pas vraiment. C'est ** 3.141692 **. ** Apparemment, les virgules doivent être supprimées dans la première liste. ** ** ↓ Il y a une virgule dedans.
['Now', 'I', 'need', 'a', 'drink,', 'alcoholic', 'of', 'course,', 'after', 'the', 'heavy', 'lectures', 'involving', 'quantum', 'mechanics.']
Pour le moment, supprimez la virgule avec replace (", "," ")
URL de référence
http://python-remrin.hatenadiary.jp/entry/2017/04/24/174405
jokyo.py
s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
s = s.replace(",","")
print(s)
Now I need a drink alcoholic of course after the heavy lectures involving quantum mechanics.
Dois-je également supprimer le point à la fin de cela? Si tel est le cas, effectuez deux fois «replace».
datoshitara.py
s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
s = s.replace(",", "").replace(".", "")
print(s)
Now I need a drink alcoholic of course after the heavy lectures involving quantum mechanics
Très bien, c'est bien.
enshu03.py
s = "Now I need a drink, alcoholic of course, after the heavy lectures involving quantum mechanics."
s = s.replace(",", "").replace(".", "")
list = s.split()
#['Now', 'I', 'need', 'a', 'drink', 'alcoholic', 'of', 'course', 'after', 'the', 'heavy', 'lectures', 'involving', 'quantum', 'mechanics']
answer_list = []
for i in list:
answer_list.append(len(i))
print(answer_list)
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]
Yay.
Je ne sais pas ce que vous dites déjà.
Vous pouvez utiliser split ()
pour le décomposer en mots.
Vous pouvez probablement découper les personnages.
Créez un tableau associatif (type dictionnaire ou type map) de la chaîne de caractères extraite à la position du mot (quel nombre de mots depuis le début).
Je ne sais pas ce que ça veut dire.
~ 3 minutes googlé ~ <URL de référence> https://web-camp.io/magazine/archives/14815
Ahhhhh. C'est comme un magasin de valeurs clés. Je comprends totalement () Je ne suis pas sûr, mais ↓ Si cela se produit, ça va.
{key1:value1,key2:value2,key3:value3}
Donc la réponse est
{1:H,2:He,3:Li,4:Be,5:B,・ ・ ・}
Je ne sais pas si ça ressemble à ça.
enshu04.py
s = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
#Diviser par mot
list = s.split()
#Une liste qui ne renvoie qu'un seul caractère si le numéro d'occurrence de ce mot correspond au numéro de cette liste
ichimoziList = [1, 5, 6, 7, 8, 9, 15, 16, 19]
#Sorte de dictionnaire
dic = {}
counter = 1
for i in list:
if counter in ichimoziList:
dic[counter] = i[:1]
else:
dic[counter] = i[:2]
counter+= 1
print(dic)
{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'}
Non! !! C'est fait.
** J'ai pensé, mais le type de dictionnaire est utilisé dans l'ordre de {1: 'H', ...}
, alors est-ce correct? ** **
Je me demande si c'est ... {'H': 1, ...}
Je me demande lequel est bien (nez hoge)
Ici, la phrase ʻif` apparaît pour la première fois. Faites une liste de «1,5,6,7,8,9,15,16,19» et dites que la liste contient la valeur numérique de l'ordre des mots à traiter. J'ai écrit une branche conditionnelle.
Je n'ai pas l'habitude d'utiliser l'instruction Python for, donc j'ai supprimé le compteur
.
Cela peut être un peu plus rafraîchissant.
De plus, "ajouter un par un dans le processus itératif" semble être écrit comme compteur + =!
Au lieu de compteur ++
. Hey!
Ça fait longtemps, je vais donc continuer dans un autre article! !! !! ** Cela a pris 3 heures jusqu'à présent! !! !! !! !! !! !! !! !! !! !! (important)**
Recommended Posts