マガジンのカバー画像

Pythonコード共有

90
Pythonのコードをここに共有します。 勉強した証をここに残します。 是非見てください。
運営しているクリエイター

#プログラミング

atcoderB問題特集

atcoderB問題特集

問題①解答コードn = int(input())n_lst = ['H', 'D', 'C', 'S']n_lst_1 = ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K']n_lst_2 = [] # 入力したデータを格納するflg = Truefor _ in range(n): n_1 = input()

もっとみる
深さ優先行きがけ順のプログラム

深さ優先行きがけ順のプログラム

勉強の記録として残します。

グラフの図は下記になります。

行きがけ順の実際のコードは下記になります。

def depth_search(): tree = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [], [], [], [], [], [], [], []] data = [

もっとみる
atcoderアルゴリズム③

atcoderアルゴリズム③

問題①解答コードN = int(input())data_lst = []cnt = 0cnt_1 = 0for _ in range(N): data = input() if data == 'For': cnt += 1 else: cnt_1 += 1if cnt > cnt_1: print('Yes')else: print('

もっとみる
atcoderアルゴリズム②

atcoderアルゴリズム②

atcoderで問題を解いたので共有したいと思います。

問題①解答コードN, K = map(int, input().split())p_list = list(map(int, input().split()))q_list = list(map(int, input().split()))confirm = 0flg = Falsefor i in p_list: for j in

もっとみる
python図形作成

python図形作成

今回のnoteはpythonでピラミッドとダイヤモンドの図形を作成していきたいと思っています。

初歩的なアルゴリズムになりますので是非勉強の参考にしてください。

ピラミッド表示まずは、ピラミッドの作成になります。
完成した図は下記の通りになります。

ユーザから何段のピラミッドにするのかデータを受け取りその段数のピラミッドを表示します。

考え方としては*(アスタリスク)の隣に空白をどのくらい

もっとみる
pythonアルゴリズム(クリスマスツリー作成)

pythonアルゴリズム(クリスマスツリー作成)

今日はpythonでクリスマスツリーのを表示するプログラムを作成しましたので記録として残していきます。

まずは、アルゴリズムの実行した結果を画像で貼り付けます。

実際のコードimport numpy as npx = np.arange(7, 16) # 配列作成y = np.arange(1, 18, 2)z = np.column_stack((x[::-1], y)) # xの配列は逆順

もっとみる
atcoderアルゴリズム

atcoderアルゴリズム

atcoderで解いた問題を共有します。

問題1解答コードdef sample1(): """A - Shift """a, b = map(int, input().split())A = list(map(int, input().split()))for i in range(b): n = A.pop(0) # 一番前のデータを取り出す A.append(0) # 一番

もっとみる
pythonデータ型とアルゴリズムについて

pythonデータ型とアルゴリズムについて

pythonの組み込み関数の種類
・sorted関数
・reversed関数

上記の二つがある。

sorted()関数は引数に与えたイテラブルオブジェクトをソートして結果をリストで返す。

reversed()関数は引数に与えたシーケンスオブジェクトを「逆順」にしタイテレーターで返す。

下記にコードを共有します。

def sample1_v1(): """ソートについて"""

もっとみる
python勉強(itertools)

python勉強(itertools)

pythonの勉強した記録を残していきます。
itertoolsについてです。

Pythonでは、連続するデータをイテレーターを使って表現します。
イテレーターは__next__()メソッドを呼び出すと値を返してくれます。

itertoolsモジュールのgroupby()関数
イテラブルオブジェクトをグループ化したイテレーターを返す。

実際のコード

import itertoolssort

もっとみる
atcoder(python解き方)

atcoder(python解き方)

問題①解答コードdef sample1(): """A問題""" h, w = map(int, input().split()) ans_lst = [input() for _ in range(h)] ans = [0] for i in ans_lst: for j in i: if j == '#':

もっとみる
アルゴリズム(深さ優先探索)

アルゴリズム(深さ優先探索)

今回はアルゴリズムの深さ優先探索について勉強した記録を残します。

深さ優先探索は「これ以上進めなくなるまで探索したら、戻って別のルートで探索し直す」ということです。

一番最近(最後に)見たものの周りを最初に探索する。アルゴリズムです。

実際の問題解答コード# このソースコードは、深さ優先探索 (DFS) をスタックを用いて実装したものです。# スタックは「一番上に要素を積む」「一番上の要素を

もっとみる
python(collections勉強)

python(collections勉強)

今回も勉強した記録を共有したいと思います。

collectionsのCounterについてです。
Counterはデータの件数をカウントすることが出来ます。

辞書を拡張してオブジェクトを数える機能に特化したクラスになります。
辞書のキーが要素、値にその要素数を保存します。

下記にコードを共有します。

from collections import Countern = Counter('h

もっとみる
python練習問題

python練習問題

pythonでアルゴリズム問題を解いたので共有したいと思います。
問題は下記のようなものです。

1問目解き方

まずは、#の数がいくつあるのかをfor文で確認して#が存在していたら1を足してあげるという処理です。

まずは、配列を用意してあげます。

[0, 0, 0, 0] # 配列用意

上記の配列に#が現れたら1ずつ足していきます。

下記が解答コードになります。

n, m = map(

もっとみる
pythonデコレータについて

pythonデコレータについて

今回のnoteも勉強した記録を残したいと思います。

デコレータについてです。

デコレータとは関数を何度も呼び出すことが無いように装飾をしてあげるという処理になります。

下記に二つのコードを共有したいと思います。

デコレータを使わない場合(引数あり)

def print_datatime(f): def wrapper(base, height): print(f'開始

もっとみる