Tomi, Geburtshelfer und Gynäkologe Artikel von Dr. Ich habe versucht, meine eigene Roadmap zu erstellen, indem ich mich auf com / self-study-python-machine-learning /) bezog.
Dieser Artikel ist der zweite in einer Gruppe von Memo-Artikeln. Der Artikel ist aus Gründen der Lesbarkeit zuerst unterteilt! (Nach dem Schreiben werde ich einen Artikel veröffentlichen, der alles zusammenfasst.) (Als Referenz habe ich das Datum und die Uhrzeit aufgezeichnet, an denen ich an jedem Abschnitt gearbeitet habe.)
Ich heiße Tsuba Mukku. Nach meinem Abschluss an der Kyushu-Universität trat ich wieder in die Abteilung für Medizin der National University School of Medicine ein. Während ich beabsichtige, meinen Abschluss an der medizinischen Fakultät zu machen und die nationale Prüfung für Ärzte zu bestehen, beiße ich auch in reine Mathematik und Informatik (ich nehme auch Kurse in Mathematik und Informationswissenschaft).
Handfertigkeiten ・ Wettbewerbsprogrammierung ・ "Gityu b" (hps: // Gityu b. Dieses m / Tsubamuku)
Diejenigen, die über Programmierkenntnisse in Progate verfügen
Diejenigen, die "Learning Roadmap für maschinelles Lernen für Python-Anfänger" ausprobieren möchten
AtCoder für Brown Coder und höher
・ Werden Sie ein Forscher, der täglich "maschinelles Lernen" einsetzt ... Es ist kein Artikel.
・ Dieses Mal veröffentliche ich, während ich nach und nach etwas hinzufüge. Einige sind unvollendet. Bitte entschuldigen Sie.
Dieses Mal war es mein Ziel, den gesamten Code in Lern-Roadmap für Python-Anfänger zu kopieren und alle Übungen selbst zu lösen.
Beachten Sie Folgendes in Python: ・ In der Python-Division wird der Dezimalpunkt angezeigt (z. B. 6/2 = 3,0).
・ 6/5 und 6 // 5 haben unterschiedliche Bedeutungen (6/5 = 1,2, 6 // 5 = 1)
-Konvertierung in eine Oktalzahl Wenn Sie eine Oktalzahl in eine Dezimalzahl konvertieren, multiplizieren Sie sie mit 0o (o)
・ Wenn Sie die Anzahl der Ziffern wissen möchten, schreiben Sie len (str (numerischer Wert)).
In meinem Fall hatte ich bereits cpp gelernt, daher gab es nichts Neues zu lernen. (Ich denke, Lernen ist der Akt des Lernens, was man nicht weiß oder nicht kann)
・ Da es einige Unterschiede zu cpp gibt, sollten wir uns intensiv mit dem Thema befassen.
#Bitte geben Sie Ihren Namen auf dem Bildschirm ein
name = input("Please enter your name")
#Eingabe zur Dateneingabe()Beachten Sie, dass dies ein str-Typ ist
age = 3
age += 1
#Zeigen Sie meinen Namen und das Alter des nächsten Jahres
print("My name is " + name + " and next year I will be " + str(age) + " years old.")
Das war leicht zu lernen, weil ich studierte, als ich in cpp und Java biss.
Ehrlich gesagt, wenn Sie sich nicht in einem Zustand "kurz vor einem Codierungsinterview" über objektorientierte Objekte befinden, sollten Sie etwas leise wissen (Sie sollten sich keine Mühe geben).
Hier sind einige nützliche Methoden:
・ Untere (), obere () Methoden
# lower()Die Methode ist,Von oben nach unten konvertieren (gnadenlos)
s = "SHINJUKU"
s = s.lower()
print(s) #Ausgabe als Shinjuku
# upper()Die Methode ist,Von unten nach oben konvertieren (gnadenlos)
s = "shibuya"
s = s.upper()
print(s) #Wird als SHIBUYA angezeigt
・ Find () -Methode
s = 'shinjuku ichome'
print(s.find('a')) #Wenn der Charakter nicht existiert-1 wird zurückgegeben
print(s.find('s')) #0. existiert
print(s.find('u')) #Der erste, der erscheint, ist der fünfte
・ Count () -Methode
s = 'shinjuku ichome'
print(s.count('u')) #2 Stücke
print(s.count('a')) #0 Stück
・ Strip () -Methode (ich habe es zuerst erfahren !!) Trimmen bezieht sich auf das Entfernen von Leerzeichen und Zeilenumbrüchen. (Dies ist eine Operation, die Sie im Uva-Online-Richterproblem sehen.)
s = ' shinjuku ichome '
s = s.strip()
print(s) #Leerzeichen zwischen Shinjuku Ichome werden nicht entfernt
In meinem Fall hatte ich bereits cpp gelernt, daher gab es nichts Neues zu lernen. Ich bin der Meinung, dass es einfacher ist, grundlegende Probleme wie if-Anweisungen zu beheben, wenn Sie das Problem plötzlich lösen. Ich habe versucht, das Problem sofort zu lösen.
Übung 1: Berechnen Sie den Steuerpreis unter Berücksichtigung der Versandkosten
price_without_tax = int(input("Please enter price before tax.")
tax = 1.1 #Grundsätzlich ist es besser, Konstanten als Variablen vorzubereiten
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.")
Übung 2: Bestehen / Nichtbestehen anhand der Testergebnisse beurteilen
math = int(input("math"))
eng = int(input("eng"))
if math >= 75:
print("pass")
else:
print("fail")
if eng >= 60:
print("pass")
else:
print("fail")
In meinem Fall habe ich es übersprungen, weil ich cpp bereits gelernt habe.
Ich habe insgesamt an diesem Abschnitt gearbeitet, weil Pythons for-Anweisung einzigartig ist.
Schreiben wir zum Beispiel ein Programm, das Zahlen von 0 bis 10 anzeigt:
#include <iostream>
using namespace std;
int main(void){
for (int i = 0; i < 21; i++) cout << i << endl;
}
for i in range(21): #Behandelt Zahlen zwischen 0 und 21 "kleiner als"
print(i)
Ändern wir den Startwert in einen anderen Wert als 0:
for i in range(1,20): #Werte zwischen 1 und weniger als "20" sind zulässig
print(i)
Lassen Sie uns das Schleifeninkrement ändern:
for i in range(1,20,2): #Werte zwischen 1 und weniger als "20" sind zulässig
print(i)
Ich verstehe das Problem nicht. .. .. .. .. traurig. .. .. .. (Wenn es cpp ist, kann ich es mir leisten ...) (Einmal gehalten)
Ich habe versucht, die Herausforderung anzugehen:
total_sum = 0
total_person = 0
while True:
money = int(input("Bitte geben Sie Ihr Geld ein: "))
total_person += 1
if money == 0:
break
else:
total_sum += money
average_money = total_sum / total_person
print("Der durchschnittliche Geldbetrag, den Sie haben, ist",average_money,"Es ist ein Kreis")
・ Vom Tupel zur Liste konvertieren
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]
・ Referenz des Listenwerts ・ ・ ・ Wird weggelassen, da es genau das gleiche Konzept wie der cpp-Vektor ist (Direktzugriff).
・ Verwendung von Scheiben Praktisch! !! !! !! Ich denke, das ist eine der Stärken von Python! !!
list_num = [0,1,2,3,4]
print(list_num[1:4]) #Die ersten bis "dritten" werden ausgegeben
list_num = [0,1,2,3,4,5,6,7,8,9,10]
print(list_num[0:11:2]) #Geben Sie nur gerade Zahlen von 0 bis 10 aus
・ Holen Sie sich die Länge der Liste In cpp können Sie die Länge mit .size () ermitteln. Verwenden Sie die len () -Methode in 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
・ Verwendung der append () -Methode
list_a = [1,2,3]
list_b = [4,5]
list_a.append(list_b)
print(list_a) # [1, 2, 3, [4, 5]]
-Wie verwende ich die Methode extens ()?
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]
・ Verwendung der del () -Methode
list_num = [1,2,3,4,5,6,7,8,9,10]
del list_num[1:3] #1~Bis zur Sekunde wird gelöscht
print(list_num)
Ich habe mich auch der Herausforderung gestellt:
list_hundred = list(range(100)) # range()Ist()0 durch Eingabe einer Zahl~Eingegebene Nummern-Machen Sie einen Wert von 1
print(list_hundred)
print(list_hundred[0:100:2]) #Geben Sie nur gerade Zahlen mit Slice aus
print(list_hundred[1:100:2]) #Geben Sie nur ungerade Zahlen mit Slice aus
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)
Dieser Abschnitt ist auch für Python einzigartig, daher habe ich an allem gearbeitet.
・ In (Enthält die Liste das Suchziel?) Nicht in (Enthält die Liste das Suchziel?)
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)
・ Count () -Methode
list_num = [1,2,3,45,6]
print(list_num.count(1)) # 1
print(list_num.count(5)) # 0
・ Sortieren der 2D-Liste
list_product = [['20200219', '4', 'Süßigkeiten' , 1, 100],
['20200120', '3', 'Gummi' , 1, 80],
['20200301', '5', 'Pocky' , 2, 120],
['20200320', '1', 'Gumi' , 1, 100],
['20200220', '5', 'Pocky', 3, 120],
['20200104', '2', 'Kartoffel', 2, 100]]
func = lambda p:p[1] #p nimmt das Element Nr. 1 des Argumentnamens p
print(func(list_product[1])) #3 Nehmen Sie die Produkt-ID des ersten Elements von vorne
list_new_num = [func(i) for i in list_product]
print(list_new_num) # ['4', '3', '5', '1', '5', '2']
Es ist sehr praktisch, also möchte ich es hier definitiv beherrschen.
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]Wird ausgegeben
list_new2 = [i for i in list_num if i % 2 == 0]
print(list_new2) # [4, 100, 6]Wird ausgegeben
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] #Während Sie den Wert der Liste mit der if-Anweisung beurteilen,Holen Sie sich die passende Elementnummer
print(list_new4) # 1
・ Auspacken
list_dog_list = [['Pochi', 'Shiba Hund', 10],
['Löwe', 'Bulldogge', 15],]
#Das Teilen der Daten in der Liste in Variablen wird als Entpacken bezeichnet.
#Ausgabe beim Auspacken
for name, breed, weight in list_dog_list:
print(name, breed, weight)
Ich habe mich auch der Herausforderung gestellt:
#Teil 1
list_product = [['20200219', '4', 'Süßigkeiten' , 1, 100],
['20200120', '3', 'Gummi' , 1, 80],
['20200301', '5', 'Pocky' , 2, 120],
['20200320', '1', 'Gumi' , 1, 100],
['20200220', '5', 'Pocky', 3, 120],
['20200104', '2', 'Kartoffel', 2, 100]]
#Teil 2
#Nach Produktnamen sortieren und anzeigen
list_product.sort(key=lambda product:product[2])
print(list_product)
#Teil 3
#Nach Verkaufsdatum sortieren und anzeigen
list_product.sort(key=lambda product:product[0])
print(list_product)
#Teil 4
#Nach Gesamtbetrag sortieren
list_product.sort(key=lambda product:product[3]*product[4])
print(list_product)
#Teil 5
pockey_count = [p for _,_,p,_,_ in list_product]
print(pockey_count.count('Pocky'))
#Teil 6
pockey_dates = [date for date, _, p, _, _ in list_product if p == 'Pocky']
print(pockey_dates)
#Teil 7
pockey_sum = 0
for d, i, n, c, m in list_product:
if n == 'Pocky':
pockey_sum += c * m
print(pockey_sum)
Tupel: unveränderlich (Elemente können referenziert werden, Elemente können durchsucht werden, Elementwerte können jedoch nicht geändert werden)
・ Über Set Ich bin mit dem CPP-Set vertraut, daher werde ich es nur kurz überprüfen.
# 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)
#Fügen Sie ein zu setzendes Element hinzu
department_of_medicine = set()
department_of_medicine.add("abc")
print(department_of_medicine) # {'abc'}
#Beim Einfügen einer Zeichenfolge""Wenn Sie es nicht beilegen, tritt ein Fehler auf
# department_of_medicine.add(def) # SyntaxError: invalid syntax
department_of_medicine.add("surgery")
print(department_of_medicine)
x = department_of_medicine.pop() #Holen Sie sich das 0. Element
print(x)
print(department_of_medicine)
・ Bedienung des Sets
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()Pin die Set-Dokumentation mit
practice2 = frozenset(practice2)
print(practice2)
practice2.discard("dfe") # 'frozenset' object has no attribute 'discard'
・ Operation für Set einstellen
g1 = {"abc","def","eee","ujie"}
g2 = {1,2,4,5,3,9}
# |Nehmen Sie die Summe mit
g3 = g1 | g2
print(g3) # {1, 2, 3, 4, 5, 'eee', 9, 'abc', 'ujie', 'def'}
# union()Nehmen Sie einen Summensatz mit einer Methode
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"}
# &Nehmen Sie ein von einem Bediener festgelegtes Produkt
g7 = g5 & g6
print(g7) # {1}
g8 = g5.intersection(g6)
print(g8) # {1}
#Nehmen Sie den Differenzsatz
g9 = g5 - g6
print(g9) # {2, 3, 4, 5}
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}
#Umstellung auf Diktat
sample1 = dict([("a",1),("b",2),("c",3)])
print(sample1) # {'a': 1, 'b': 2, 'c': 3}
# zip()Erstellen eines Wörterbuchs mit
sample2 = ["a","b","c"]
sample3 = [1,2,3]
sample4 = dict(zip(sample2,sample3))
print(sample4) # {'a': 1, 'b': 2, 'c': 3}
#Erstellen eines Wörterbuchs mit Schlüsseln
sample5 = dict(a = 1, b = 2)
print(sample5) # {'a': 1, 'b': 2}
#Verwendung der Einschlussnotation
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')) #Der Wert 1 wird ausgegeben
sample.clear()
print(sample) # {}Wird ausgegeben
Recommended Posts