Les débutants en Python publient des applications Web à l'aide de l'apprentissage automatique [Partie 2] Introduction à Python explosif !!

Objectif de cet article

Tomi, obstétricien et gynécologue Article du Dr. [«[Auto-étude] Feuille de route d'apprentissage pour l'apprentissage automatique pour les débutants en Python»](https: // obgynai. J'ai essayé de créer ma propre feuille de route en me référant à com / self-study-python-machine-learning /).

Cet article est le deuxième d'un groupe d'articles mémo. L'article est d'abord subdivisé pour la lisibilité! (Après avoir écrit, je publierai un article qui résume tout.) (Pour référence, j'ai enregistré la date et l'heure auxquelles j'ai travaillé sur chaque section.)

Auto-introduction

Je m'appelle Tsuba Mukku. Après avoir obtenu mon diplôme de l'Université de Kyushu, je suis rentré au Département de médecine de l'École nationale de médecine de l'Université. Tout en visant à obtenir mon diplôme de la Faculté de médecine et à réussir l'examen national des médecins, je mord également dans les mathématiques pures et l'informatique (je suis également des cours de mathématiques et de sciences de l'information).

Compétences portatives ・ Programmation du concours ・ "Gityu b" (hps: // Gityu b. This m / Tsubamuku)

Lecteur supposé

  1. Ceux qui ont des compétences en programmation de niveau d'achèvement Progate

  2. Ceux qui veulent essayer "Feuille de route d'apprentissage pour l'apprentissage automatique pour les débutants en Python"

  3. AtCoder pour codeur marron et supérieur

Remarques

・ Devenez un chercheur qui utilise le "machine learning" au quotidien ... Ce n'est pas un article.

・ Cette fois, je publie en ajoutant petit à petit. Certains sont inachevés. Veuillez pardonner.

L'objectif de cette fois

Mon objectif cette fois était de copier tout le code dans Learning Roadmap for Python Beginners et de résoudre tous les exercices par moi-même.

Bilan des efforts

1 À propos des valeurs numériques et des chaînes de caractères (temps d'apprentissage: 04/06/2020 à 13h00)

Notez ce qui suit en Python: ・ En division Python, la virgule décimale est affichée (ex. 6/2 = 3.0)

・ 6/5 et 6 // 5 ont des significations différentes (6/5 = 1,2, 6 // 5 = 1)

-Conversion en nombre octal Lors de la conversion d'un nombre octal en nombre décimal, multipliez-le par 0o (o) <valeur numérique>. Inversement, lors de la conversion d'un nombre décimal en nombre octal, écrivez oct (valeur numérique). Si vous vous souvenez d'Octopus, vous devriez être convaincu d'écrire oct.

・ Si vous voulez connaître le nombre de chiffres, écrivez len (str (valeur numérique)).

2 À propos des variables, des valeurs logiques et des opérateurs

Dans mon cas, j'avais déjà appris cpp, donc il n'y avait rien de nouveau à apprendre. (Je pense qu'étudier est l'acte d'apprendre ce que vous ne savez pas ou ne pouvez pas faire)

3 Bases des fonctions

・ Parce qu'il y a des différences avec cpp, étudions sérieusement.


#Veuillez saisir votre nom à l'écran
name = input("Please enter your name")

#Entrée pour saisir des données()Notez qu'il s'agit d'un type str
age = 3
age += 1

#Montre mon nom et l'âge de l'année prochaine
print("My name is " + name + " and next year I will be " + str(age) + " years old.")

4 À propos des objets et des méthodes

C'était facile à apprendre parce que j'étudiais quand je mordais dans cpp et Java.

Honnêtement, si vous n'êtes pas dans un état "juste avant d'avoir une interview de codage" sur les objets orientés objet, vous devriez savoir quelque chose doucement (vous ne devriez pas y mettre d'effort).

Voici quelques méthodes utiles:

・ Méthodes inférieure (), supérieure ()

# lower()La méthode est,Convertir du haut en bas (sans pitié)
s = "SHINJUKU"
s = s.lower()
print(s) #Sortie en shinjuku

# upper()La méthode est,Convertir de inférieur en supérieur (sans pitié)
s = "shibuya"
s = s.upper()
print(s) #S'affiche comme SHIBUYA

・ Méthode Find ()

s = 'shinjuku ichome'

print(s.find('a')) #Si le personnage n'existe pas-1 est retourné
print(s.find('s')) #0e existe
print(s.find('u')) #Le premier à apparaître est le cinquième

・ Méthode Count ()

s = 'shinjuku ichome'

print(s.count('u')) #2 pièces
print(s.count('a')) #0 pièces

・ Méthode Strip () (je l'ai appris pour la première fois !!) Trim fait référence à l'opération de suppression des espaces vides et des sauts de ligne. (Ceci est une opération vue dans le problème du juge en ligne Uva)

s = '   shinjuku       ichome      '

s = s.strip()
print(s) #Les blancs entre les ichomes shinjuku ne sont pas supprimés

5 Contrôle de la syntaxe / principes de base du branchement conditionnel

Dans mon cas, j'avais déjà appris cpp, donc il n'y avait rien de nouveau à apprendre. Je pense qu'il est plus facile de résoudre les problèmes de base tels que les déclarations if si vous résolvez le problème soudainement. J'ai essayé de résoudre le problème immédiatement.

Exercice 1: Calculez le prix TTC en tenant compte des frais d'expédition

<détails>

Exemple de réponse </ summary>

price_without_tax = int(input("Please enter price before tax.")
tax = 1.1 #Il est préférable de préparer les constantes en tant que variables essentiellement
price_with_tax = int(price_without_tax * tax)

if price_with_tax >= 2000:
    print("Delivery fee is free of charge.")
else:
    print("Delivery fee is 350 yen.")
    price_with_tax += 350
    
print("Price including delivery fee is " price_with_tax " yen.")

Exercice 2: évaluer la réussite / l'échec à partir des résultats des tests

  • L'ordre d'entrée est supposé être mathématique → anglais.

<détails>

Exemple de réponse </ summary>

math = int(input("math"))
eng = int(input("eng"))

if math >= 75:
    print("pass")
else:
    print("fail")
    
if eng >= 60:
    print("pass")
else:
    print("fail")

6 Comment utiliser l'instruction while

Dans mon cas, je l'ai sauté parce que j'ai déjà appris cpp.

À propos de l'utilisation de 7 pour la phrase (temps d'apprentissage: 04/06/2020 16:08)

J'ai travaillé sur cette section parce que l'instruction for de Python est unique.

Par exemple, écrivons un programme qui affiche des nombres de 0 à 10:

<détails>

Exemple de réponse cpp </ summary>

#include <iostream>
using namespace std;
int main(void){
    
    for (int i = 0; i < 21; i++) cout << i << endl;
}

Exemple de réponse Python
for i in range(21): #Gère les nombres entre 0 et 21 "inférieurs à"
    print(i)

Modifions la valeur de départ en autre chose que 0:

Remplacez la valeur de départ par une valeur autre que 0

for i in range(1,20): #Les valeurs comprises entre 1 et moins de "20" sont éligibles
    print(i)

Changeons l'incrément de boucle:

Changer l'incrément lors de la boucle
for i in range(1,20,2): #Les valeurs comprises entre 1 et moins de "20" sont éligibles
    print(i)

Je ne comprends pas le problème. .. .. .. .. triste. .. .. .. (Si c'est cpp, je peux me le permettre ...) (Tenu une fois)

8 Ajoutez les valeurs saisies pour trouver la valeur moyenne des valeurs d'entrée à un certain point (temps d'apprentissage: 04/06/2020 19:02)

J'ai essayé de relever le défi:

Exemple de réponse Python
total_sum = 0
total_person = 0
while True:
    money = int(input("Veuillez saisir votre argent: "))
    total_person += 1
    
    if money == 0:
        break
    else:
        total_sum += money

average_money = total_sum / total_person
print("Le montant moyen dont vous disposez est",average_money,"C'est un cercle")

9 Résumé de l'utilisation de la liste [Partie 1](Temps d'apprentissage: 04/06/2020 19:12)

・ Conversion de tuple en liste

tuple_samp = (5,6,7,8)
print(type(tuple_samp)) # <class 'tuple'>


list_samp = list(tuple_samp)
print(type(list_samp)) # <class 'list'>
print(list_samp) # [5, 6, 7, 8]

range_samp = range(5)
print(type(range_samp)) # <class 'range'>
print(range_samp) # range(0, 5)
list_samp = list(range_samp)
print(list_samp) # [0, 1, 2, 3, 4]

・ Référence de la valeur de la liste ・ ・ ・ Omis car il s'agit exactement du même concept que le vecteur cpp (accès aléatoire).

・ Comment utiliser les tranches Pratique! !! !! !! Je pense que c'est l'une des forces de Python! !!

list_num = [0,1,2,3,4]
print(list_num[1:4]) #Le premier au "troisième" est sorti

list_num = [0,1,2,3,4,5,6,7,8,9,10]
print(list_num[0:11:2]) #Sortie uniquement des nombres pairs de 0 à 10

・ Obtenez la longueur de la liste Dans cpp, vous pouvez obtenir la longueur par .size (). Utilisez la méthode len () en Python!

list_two_dim = [[1,1,1,1,1],[2,2,2]]
print(len(list_two_dim)) # 2
print(len(list_two_dim[1])) # 3

・ Comment utiliser la méthode append ()


list_a = [1,2,3]
list_b = [4,5]
list_a.append(list_b)
print(list_a) # [1, 2, 3, [4, 5]]

-Comment utiliser la méthode extend ()

list_c = [1,3,5,7,9,11]
list_d = [2,4,6]
list_c.extend(list_d)
print(list_c) # [1, 3, 5, 7, 9, 11, 2, 4, 6]

・ Comment utiliser la méthode del ()

list_num = [1,2,3,4,5,6,7,8,9,10]
del list_num[1:3] #1er~Jusqu'à la seconde est supprimée
print(list_num)

J'ai également relevé le défi:

Exemple de réponse Python
list_hundred = list(range(100)) # range()Est()0 en mettant un nombre à l'intérieur~Numéros saisis-Faire une valeur de 1
print(list_hundred)

print(list_hundred[0:100:2]) #Sortie uniquement des nombres pairs à l'aide de la tranche
print(list_hundred[1:100:2]) #Afficher uniquement les nombres impairs à l'aide de la tranche

sum1 = 0
for i in range(0,100,2):
    sum1 += list_hundred[i]
print(sum1)

sum2 = 0
for i in range(1,100,2):
    sum2 += list_hundred[i]
print(sum2)

sum_all = 0
for i in range(100):
    sum_all += list_hundred.pop()
print(sum_all)

print(list_hundred)

Résumé de l'utilisation de la liste 10 [Partie 2](Temps d'apprentissage: 04/06/2020 20:02)

Cette section est également propre à Python, j'ai donc travaillé dessus.

・ Dans (La liste inclut-elle la cible de recherche?) Pas dans (La liste inclut-elle la cible de recherche?)

list_num = [1,2,3,4]
print(1 in list_num)
print(100 in list_num)
print(100 not in list_num)
 
list_str = ['cat','dog','bug','bag']
print('dog' in list_str)
print('pokemon' in list_str)
print('pokemon' not in list_str)

・ Méthode Count ()

list_num = [1,2,3,45,6]
print(list_num.count(1)) # 1
print(list_num.count(5)) # 0

・ Tri de la liste 2D

list_product = [['20200219', '4', 'Bonbons' , 1, 100],
                ['20200120', '3', 'Gencive' , 1, 80],
                ['20200301', '5', 'Pocky' , 2, 120],
                ['20200320', '1', 'Gumi' , 1, 100],
                ['20200220', '5', 'Pocky', 3, 120],
                ['20200104', '2', 'Patate', 2, 100]]
                
func = lambda p:p[1] #p prend l'élément no1 du nom de l'argument p

print(func(list_product[1])) #3 Prenez l'ID produit du premier élément par l'avant

list_new_num = [func(i) for i in list_product]
print(list_new_num) # ['4', '3', '5', '1', '5', '2']


Notation inclusive de la liste

C'est très pratique, donc je veux vraiment le maîtriser ici.


list_num = [1,3,4,55,33,100,6]
list_new = [i for i in list_num]
print(list_new) # [1, 3, 4, 55, 33, 100, 6]Est sortie

list_new2 = [i for i in list_num if i % 2 == 0]
print(list_new2) # [4, 100, 6]Est sortie

list_new3 = [i**3 for i in list_num if i % 2 == 1]
print(list_new3) # [1, 27, 166375, 35937]
 
list_new4 = [i for i, obj in enumerate(list_num) if obj == 3] #Tout en jugeant la valeur de la liste avec l'instruction if,Obtenez le numéro d'élément correspondant
print(list_new4) # 1

・ Déballer

list_dog_list = [['Pochi', 'Chien shiba', 10],
                 ['Leo', 'Bouledogue', 15],]

#La division des données de la liste en variables s'appelle unpack.
#Sortie lors du déballage
for name, breed, weight in list_dog_list:
    print(name, breed, weight)

J'ai également relevé le défi:

Exemple de réponse Python
#Partie 1
list_product = [['20200219', '4', 'Bonbons' , 1, 100],
                ['20200120', '3', 'Gencive' , 1, 80],
                ['20200301', '5', 'Pocky' , 2, 120],
                ['20200320', '1', 'Gumi' , 1, 100],
                ['20200220', '5', 'Pocky', 3, 120],
                ['20200104', '2', 'Patate', 2, 100]]
    
#Partie 2
#Trier et afficher par nom de produit
list_product.sort(key=lambda product:product[2])
print(list_product)

#Partie 3
#Trier et afficher par date de vente
list_product.sort(key=lambda product:product[0])
print(list_product)

#Partie 4
#Trier par montant total
list_product.sort(key=lambda product:product[3]*product[4])
print(list_product)

#Partie 5
pockey_count = [p for _,_,p,_,_ in list_product]
print(pockey_count.count('Pocky'))

#Partie 6
pockey_dates = [date for date, _, p, _, _ in list_product if p == 'Pocky']
print(pockey_dates)

#Partie 7
pockey_sum = 0

for d, i, n, c, m in list_product:
    if n == 'Pocky':
        pockey_sum += c * m
print(pockey_sum)

11 Comment utiliser Taple [De basique à appliqué](Temps d'apprentissage: 04/06/2020 21:29)

tuple: immuable (les éléments peuvent être référencés, les éléments peuvent être recherchés, mais les valeurs des éléments ne peuvent pas être modifiées)

Résumé de l'utilisation de 12 ensembles (agrégés) [De base à appliqué](05/06/2020 8:28)

・ À propos de l'ensemble Je connais l'ensemble cpp, donc je vais juste l'examiner brièvement.

# set
x = {'a','b','c','d'}

z = {1,'a',2,'b'}

print(x) # {'c', 'd', 'a', 'b'}
print(x) # {'c', 'd', 'a', 'b'}
print(x) # {'c', 'd', 'a', 'b'}

y = set("shinjukuekimae")
print(y) # {'k', 'e', 'a', 'j', 'n', 'h', 'u', 'm', 's', 'i'}

num_dict = {num*2 for num in range(4,30,2)}
print(num_dict)

#Ajouter un élément à définir
department_of_medicine = set()
department_of_medicine.add("abc")
print(department_of_medicine) # {'abc'}

#Lors de l'insertion d'une chaîne""Si vous ne le fermez pas, une erreur se produira
# department_of_medicine.add(def) # SyntaxError: invalid syntax

department_of_medicine.add("surgery")
print(department_of_medicine)

x = department_of_medicine.pop() #Obtenez le 0e élément
print(x)
print(department_of_medicine)

・ Comment utiliser l'ensemble

practice = {"abc","def",'xyz',1,2,3}
print(practice) # {1, 2, 3, 'def', 'abc', 'xyz'}

practice.remove('def')
print(practice) # {1, 2, 3, 'abc', 'xyz'}

practice.discard(1)
print(practice) # {2, 3, 'abc', 'xyz'}
practice.discard(5)
print(practice) # {2, 3, 'abc', 'xyz'}

practice.clear()
print(practice) # set()

practice2 = {"dfe","abc",'eeed',3}

# frozenset()Épinglez la documentation de l'ensemble avec
practice2 = frozenset(practice2)
print(practice2)

practice2.discard("dfe") # 'frozenset' object has no attribute 'discard'

・ Réglez l'opération pour l'ensemble

g1 = {"abc","def","eee","ujie"}
g2 = {1,2,4,5,3,9}

# |Prenez l'ensemble de somme en utilisant
g3 = g1 | g2 
print(g3) # {1, 2, 3, 4, 5, 'eee', 9, 'abc', 'ujie', 'def'}

# union()Prendre un ensemble de somme en utilisant une méthode
g4 = g1.union(g2)
print(g4) # {'def', 1, 2, 3, 4, 5, 9, 'eee', 'ujie', 'abc'}

g5 = {1,2,3,4,5}
g6 = {1,"a","b","c","d"}

# &Prendre un produit réglé par un opérateur
g7 = g5 & g6
print(g7) # {1}

g8 = g5.intersection(g6)
print(g8) # {1}

#Prenez l'ensemble de la différence
g9 = g5 - g6
print(g9) # {2, 3, 4, 5}

13 Comment créer un dictionnaire [De basique à appliqué](05/06/2020 10:59)

temp_record = {(2020,6,1):20, (2020,6,2):24,(2020,6,3):35}
print(temp_record) # {(2020, 6, 1): 20, (2020, 6, 2): 24, (2020, 6, 3): 35}

#Conversion en dict
sample1 = dict([("a",1),("b",2),("c",3)])
print(sample1) # {'a': 1, 'b': 2, 'c': 3}

# zip()Créer un dictionnaire en utilisant
sample2 = ["a","b","c"]
sample3 = [1,2,3]
sample4 = dict(zip(sample2,sample3))
print(sample4) # {'a': 1, 'b': 2, 'c': 3}

#Créer un dictionnaire à l'aide de clés
sample5 = dict(a = 1, b = 2)
print(sample5) # {'a': 1, 'b': 2}

#Utilisation de la notation d'inclusion
sample6 = {i: i*3 for i in range(2,10,1)}
print(sample6) # {2: 6, 3: 9, 4: 12, 5: 15, 6: 18, 7: 21, 8: 24, 9: 27}
 sample = {}
sample['a'] = 1
sample['b'] = 2
sample['c'] = 3
print(sample) # {'a': 1, 'b': 2, 'c': 3}
print(sample.get('b')) # 2

print(sample.pop('a')) #La valeur 1 est sortie
sample.clear() 
print(sample) # {}Est sortie

Recommended Posts