paizaラーニングのレベルアップ問題集「Bランクレベルアップセット」からの出典です。
paiza.jp
Pythonによる「五目並べ」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 文字列の出力
''' Pythonによる「Bランクレベルアップメニュー」問題集: 五目並べ STEP: 1 文字列の出力 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 for i in range(5): s = input() print(s)
・STEP: 2 五目並べ(1行)
''' Pythonによる「Bランクレベルアップメニュー」問題集: 五目並べ STEP: 2 五目並べ(1行) https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 s = input() if s == "OOOOO": print("O") elif s == "XXXXX": print("X") else: print("D")
・STEP: 3 五目並べ(横)
''' Pythonによる「Bランクレベルアップメニュー」問題集: 五目並べ STEP: 3 五目並べ(横) https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 for i in range(5): s = input() if s == "OOOOO": print("O") break if s == "XXXXX": print("X") break if i == 4: print("D")
・STEP: 4 五目並べ(縦)
''' Pythonによる「Bランクレベルアップメニュー」問題集: 五目並べ STEP: 4 五目並べ(縦) https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 lis = [] for i in range(5): s = input() lis.append(s) for i in range(5): ans = lis[0][i] + lis[1][i] + lis[2][i] + lis[3][i] + lis[4][i] if ans == "OOOOO": print("O") break if ans == "XXXXX": print("X") break if i == 4: print("D")
・STEP: 5 五目並べ(斜め)
''' Pythonによる「Bランクレベルアップメニュー」問題集: 五目並べ STEP: 5 五目並べ(斜め) https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 lis = [] for i in range(5): s = input() lis.append(s) ans1 = lis[0][0] + lis[1][1] + lis[2][2] + lis[3][3] + lis[4][4] ans2 = lis[0][4] + lis[1][3] + lis[2][2] + lis[3][1] + lis[4][0] if (ans1 == "OOOOO") or (ans2 == "OOOOO"): print("O") elif (ans1 == "XXXXX") or (ans2 == "XXXXX"): print("X") else: print("D")
・FINAL問題: 五目並べ
''' Pythonによる「Bランクレベルアップメニュー」問題集: 五目並べ FINAL問題: 五目並べ https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com ''' # coding: utf-8 lis = [] for i in range(5): s = input() lis.append(s) ans1 = lis[0][0] + lis[1][1] + lis[2][2] + lis[3][3] + lis[4][4] ans2 = lis[0][4] + lis[1][3] + lis[2][2] + lis[3][1] + lis[4][0] if (ans1 == "OOOOO") or (ans2 == "OOOOO"): print("O") elif (ans1 == "XXXXX") or (ans2 == "XXXXX"): print("X") else: for i in range(5): ans3 = lis[i] ans4 = lis[0][i] + lis[1][i] + lis[2][i] + lis[3][i] + lis[4][i] if (ans3 == "OOOOO") or (ans4 == "OOOOO"): print("O") break elif (ans3 == "XXXXX") or (ans4 == "XXXXX"): print("X") break elif i == 4: print("D")
2次元配列や文字列の扱いについての問題です。
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。