見出し画像

【開始41日目】プログラミング学び日記_Python_MySQL

 このnoteは、31歳未経験からエンジニアを目指して勉強していく記録を綴っているものです。現在はAdTechでカスタマーサクセスを担当しつつ、色んなチャンスに恵まれ、CS業務や子育てと並行しながらチャレンジしています。

 これからプログラミングを始める方にとってのTipsやモチベアップに繋げられるように頑張りたいと思っています。
--------------------------------------------

 昨日は大阪へ日帰り出張だったので、合間にやれることをやりつつ記事の更新はお休みしました。0時30分くらいの帰宅だったので今日はめちゃくちゃ眠いです・・・


今日やったこと
・基礎からのMySQL(50分)
・Paizaの問題集(70分)
・Web技術の基本(30分)
・本記事の執筆(20分)
合計:170分


出社した時の移動時間で結構インプット時間は確保できているみたいです。


学んだこと

●((リストの要素数 - 1)  + 指定のインデックス) %  リストの要素数
  リストのインデックスを「%」で指定する方法をさらに学びました。上記により「左側のインデックス番号」を指定することができます。初期位置(x, y)と移動回数n、左右への移動dが与えられ、移動後の座標を示すプログラムで使いました。

x, y, n = map(int, input().split())
direction = ["N", "E", "S", "W"]
now_direction = 0
Ir = 1

def move(now_direction, x, y):
   if now_direction == "N":
       y -= 1
   if now_direction == "E":
       x += 1
   if now_direction == "S":
       y += 1
   if now_direction == "W":
       x -= 1
   return(x, y)

for _ in range(n):
   d = input()
   if d == "L":
       now_direction = (3 + now_direction) % 4  # 左側のインデックスへの移動は、-1すると値が負になることがあり上手くいかない
   else:
       now_direction = (1 + now_direction) % 4  # 右側のインデックスへの移動は1を足せばOK
   (x, y) = move(direction[now_direction], x, y)
   print(x, y)


●先日の「a.tosi <= b.tosi」でCOUNTする理由の解明
 前回記事の続きです。MySQLでレコードを順位付けする方法で、冷静に考えたら分かりました。「WHERE a.age <= b.age」でJOINすると、a.age以上のb.ageを持つレコードのみ結合されてくるので、a.ageの数字が大きいほど結合される数が少なく、COUNTすると小さい数がでます(高順位になる)。



明日は勉強時間をかなり確保できる予定です!!
がんばろう。



これまで修了したコース等

【Paiza】
Aランクレベルアップメニュー 10/49問
配列メニュー      27/64問
条件分岐メニュー    20/25問
二重ループメニュー   19/19問
配列活用メニュー    26/26問
文字列処理メニュー   30/30問
Bランクレベルアップメニュー 62/62問
Cランクレベルアップメニュー 30/30問
ランクB合格
ランクC合格

【書籍/ブログ】
Pythonデータベースプログラミング 93/194頁 ※2週目
基礎からのMySQL     228/514頁
Web技術の基本      86/189頁
京大のPython教科書    116/201頁
Pythonエンジニアファーストブック読了

【Progate】
Python Ⅰ~Ⅴ
Python アプリ版 コースⅠ~Ⅴ
SQL Ⅰ~ Ⅳ
SQL アプリ版 コースⅢ
HTML&CSS 初級編

【その他】
VSCodeの環境構築
Anacondaの環境構築
MySQLの環境構築

この記事が気に入ったらサポートをしてみませんか?