【E資格対策】Python 中級 1
( ..)φメモメモ
何のためにE資格取得がんばる?
AIを深く理解していくための基礎力として、E資格を学ぶ。
資格を取った先、仕事で活かした先、研究をした先に、
AIに出来ること、そして、限界が見えてくるはず。
python 中級
for文(2)~リスト(4)
for文
Factorial : 階乗
def factorial(x): sum = 1 for i in range(x, 0, -1): if i <= 0: break else: sum = sum * i return sum
if文
うるう年
def leap_year(x): if x % 400 == 0: # i) 400で割り切れる場合は、うるう年 leap = True elif x % 100 == 0: # ii) 400で割り切れない、かつ、100で割り切れる場合は、平年 leap = False else: if x % 4 == 0: # i) ii) とも満たさない、かつ、4で割り切れる場合は、うるう年 leap = True else: leap = False if leap: print(str(x) + "年はうるう年") else: print(str(x) + "年はうるう年ではない")
不思議なifの判定
if文に0
が入ると、Falseの判定になる。
ちなみに、0.0
だと、float型で、Falseの判定になる。
num = 0 if num: print("num = " + str(num) + ", type = " + str(type(num)) + " True") else: print("num = " + str(num) + ", type = " + str(type(num)) + " False") # 出力 ⇒ num = 0, type = <class 'int'> False
リスト
リスト内包表記
enumerate関数
簡単にリストを作成できるよ
構文 : [式 for 変数 in イテラブルオブジェクト]
# リスト内包表記 list = [i + 1 for i in range(5)] # コードで書く def create_list(): list = [] for i in range(5): list.append(i+1)
判定を含むの構文 : [式 for 変数 in イテラブルオブジェクト (if文)]
※FizzBuzzの短縮(↑のQiitaより)
["fizzbuzz" if i%15==0 else "fizz" if i%3==0 else "buzz" if i%5==0 else i for i in range(1,16)]
※注意(Javaが染み込んでいる~
list.len() # NG len(list) # OK
意外と型変換が必要な感じ。
動的型付けだから、わかりづらい印象を受ける。慣れか。
emumerate:列挙する
# 構文 for 変数名1(インデックス),変数名2(値) in enumerate(イテラブルオブジェクト): # 処理