週末副業記

土日は副業エンジニアのブログです。副業に関することを投稿します。

その他プログラミング

複数回のinput()結果を配列に格納する(AtCoder(競プロ)1日1問【14日目】【Python】)

AtCoder Beginner Contest 095 B問題 abc095.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「input( )」です。 複数回のinput( ) 所持金:X円 最低限作りたいドーナツの種類:N ドーナツの素の値段: でN…

文字列中の特定の文字の数を取得する(AtCoder(競プロ)1日1問【13日目】【Python】)

AtCoder Beginner Contest 095 A問題 abc095.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「count( )」です。 print(input().count('o')*100+700) input( )で入力された文字列の中で、今回は"o"の数がト…

余りを出力する(AtCoder(競プロ)1日1問【12日目】【Python】)

AtCoder Beginner Contest 099 C問題 abc099.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「%」です。 余りを出力する N = int(input()) res = N for i in range(N + 1): cc = 0 t = N - i while t > 0: …

range( ) でリストを生成する(AtCoder(競プロ)1日1問【11日目】【Python】)

AtCoder Beginner Contest 099 B問題 abc099.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「range( )」です。 今回の問題を解くためには、1〜?の範囲の数字を足す表現を用います。 sum(range(1,b-a+1))で…

OCRツール作成【画像の読み込み】【python】

英語で書かれた文字の存在する画像を読み込み、文字認識を行う 画像の読み込み 画像を読みこむにはダイアログボックスというものを出現させなければなりません。ダイアログボックスはこちらの記事が参考になります。[1] ダイアログボックスを利用するには、w…

文字を指定の数だけ繰り返す(AtCoder(競プロ)1日1問【10日目】【Python】)

AtCoder Beginner Contest 096 C問題 abc096.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「文字*数字」です。 文字を指定の数だけ繰り返す この問題を解く中で「'.'*数字」という組み合わせを使用します…

最大値の取得(max)(AtCoder(競プロ)1日1問【9日目】【Python】)

AtCoder Beginner Contest 096 B問題 abc096.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「max( )」です。 最大値の取得(max) A,B,C = [int(i) for i in input().split()] K = int(input()) integerList…

区切り文字で分割する(split)(AtCoder(競プロ)1日1問【8日目】【Python】)

AtCoder Beginner Contest 096 A問題 abc096.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「split( )」です。 問題は、 1月1日〜a月b日までの間に月と日の数が同じになる日が何日あるか。 入力として「月…

要素の追加(add)(AtCoder(競プロ)1日1問【7日目】【Python】)

AtCoder Beginner Contest 097 C問題 abc097.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「add()」です。 add()はset関数で作成したものに対して要素を加えることができます。 今回の問題としては、入…

べき乗の計算(pow)(AtCoder(競プロ)1日1問【6日目】【Python】)

AtCoder Beginner Contest 097 B問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「pow()」です。 べき乗の計算 「pow(x, a)」を使ってべき乗(x^a)を求めることが出来ます。 例えば、以下の通り(2の3乗を計算しておりま…

絶対値の計算(abs) (AtCoder(競プロ)1日1問【5日目】【Python】)

AtCoder Beginner Contest 098 A問題 A: Colorful Transceivers - AtCoder Beginner Contest 097 | AtCoder 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「abs()」です。 絶対値の計算 abs(-1)と入力すると1が出力されます…

範囲を設定する(range)(AtCoder(競プロ)1日1問【4日目】【Python】)

AtCoder Beginner Contest 098 C問題 abc098.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「range()」です。 問題としては、 「東西方向に東と西どちらかに向いて並んでいるグループがある。 その中で…

bool型(AtCoder(競プロ)1日1問【3日目】【Python】)

AtCoder Beginner Contest 098 B問題 abc098.contest.atcoder.jp 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「bool()」です。 bool型 bool(引数)の引数部に条件を書き、それがTrueであれば"1"、Falseであれば"0"となりま…

.formatを文字列の出力に使う(AtCoder(競プロ)1日1問【2日目】【Python】)

AtCoder Beginner Contest 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「.format()」です。 practice.contest.atcoder.jp A - はじめてのあっとこーだー(Welcome to AtCoder) 整数 a,b,cと、文字列 s が与えられます。 整…

一行でfor文を書く(AtCoder(競プロ)1日1問【1日目】【Python】)

AtCoder Beginner Contest 098 A問題 競技プログラミングで使える関数を実際の問題を通して紹介いたします。 今回は「for()」です。 本日の問題 A- Add Sub Mul 問題文 2つの整数A,Bが与えられます。A+B,A-B,A*Bの中で 最大の値を求めてください。 制約:…

Python初心者がOCR【環境構築:Anaconda】

pythonでOCRをするにはpyocrというモジュールを使用可能にする必要があります。 私はAnacondaというPythonパッケージを利用しています。 インストール方法は下記記事 www.python.jp AnacondaをインストールするとAnaconda-Navigatorというものが出てきます …

Python初心者が二値化【画像処理】

OCRの精度を高めるには画像処理が重要 ・OCR(Optical Character Recognition/Reader、光学的文字認識) ・画像処理:二値化 OCRのライブラリをanaconda navigatorに入れられなかったのでとりあえず二値化 プログラム 結果 元画像 二値後 プログラム def main(…

Python初心者が機械学習【K平均法】

非階層型クラスタリングの一つである「K平均法(K-means)」について書いていきます。 K平均法とは どのようなデータを対象に行うか 実践 データ作成 K平均法プログラム 結果 参考 K平均法とは 与えられたクラスタ(cluster:集団,群)数 = K個 に分類し、クラス…

blackJackの超当然な定石をPythonで検証。

blackJackとはアニメの方ではなく、カードを使うゲームです。 ルールに関する説明は最低限だけ.. ・J, Q, Kは10扱い ・カードが二枚配られる ・相手のカードは一枚が公開、 もう一枚は伏せカードになっていて見えない状態 ・自分は手札の合計が22以上にな…

正規分布を描く [matplotlib][指定領域塗布][Python3.0]

正規分布をプログラムで描くコードを掲載します。 このプログラムにおいて読み込むファイルの形式としてはcsvで、 2列目、3列目にそれぞれ平均値、4列目、5列目に分散、6列目、7列目に閾値が入力されています。 実際のグラフとしては、このようになります。…

JavaScript講座[vol.2]-クリック&アクション-

クリックすると、新しいウィンドウが表示されるという何度も見た動作。 あの動作をするときに、JavaScriptが動くことをイベントといいます。 Webっぽい動きですよね。 あれに手を出してみます。 ・イベント 前回のサンプルコードに一行足すだけで、イベント…

JavaScript講座[vol.1]-準備&サンプル-

最近、訳あってJavaScriptを始めないといけない(前から興味はあった)機会があったので、初心者講座として記録していきたいと思い、書き始めることにしました。 できるだけ、わかりやすく書いていきたいと思っておりますので、よろしくお願いいたします。 …

配列にある数字の数を数える[Python 3.0]

今回は、配列の中に複数個存在する数字以外は配列から削除するというプログラムです。 例えば、このような配列 a = [1,2,3,4] だと、出力は a = [] となるようにするということです。 この問題を見て最初に思いついたのがこちら In [2]: def test(data): ...…

関数の定義の仕方とset()について[Python3.0]

ようやく、checkIOの「Elementary」が終わりました。 最後、手間取って中々終わりませんでしたが、、 最後のお題は、「データ構造の体得」 いつもお世話になっているモジュールを、自分で作ってみる。 といったイメージです。 クラスにおける、関数「add」「…

一致した文字をソートして出力[Pythom3.0]

文字列というよりも”文字”をソートして出力するというもの。 今回の入力は "I,am,Christmas","I,are,lattice" という、文字ごとに","で区切ってあるというもの。 今までの学習から導いた私の答えがこちら。 def checkio(first, second): matched_list = [] f…

文字列を、指定された基数で10進数に変換[Python3.0]

基数変換 "AF"という文字列が与えられ、もう一つ引数として、 "16"が与えられたとすると、これを10進数に変換すると"175"ですよね。 10*16^1+15*16^0 = 175 こういった感じでランダムな基数(先ほどの場合は基数は"16")が与えられ、 その基数で表されている…

単語の集合で条件に一致したら"True"[Python 3.0]

ある単語が別の単語の末尾であるような単語の対があるかどうか調べるという場合、 例えば、文字列の集合 word = {"IIIII","KOKOKO","SAsta","sta"} があり、"sta"が"SAsta"の末尾であるため、結果は"True(真)"となります。 それで私が作成したコードがこれで…

パングラムであるかどうかを確かめる。[Python 3.0]

What is Pangram??? パングラムって何? って思いますよね。 少なくとも私は思いました。 パングラムとは... アルファベットなど、その言語の全ての文字を使って意味のある文章となっているもののことをいう そうです。 言葉遊びらしいです。 なぜこんなこと…

転倒数を数える[Python]

転倒とは 転倒数とは コード 解説 転倒とは 転倒とは、自然な順番に並んでいない要素の配列のペアです。 転倒数とは 例えば、昇順で使うとしたら [1,2,4,3,5] の場合、[4,3]のみが昇順となっていないため、転倒数は1になります。 また、 [1,2,5,3,4] の場合…

リスト内文字列の結合・置換、文字列のリスト化【Python】

リスト内の文字列を結合・置換する方法、逆に文字列をリスト化する方法について述べていきます。 リスト内文字列の結合・置換 文字列の結合 文字列の置換 文字列のリスト化 最後に リスト内文字列の結合・置換 Pythonによる文字列の置換です。競技プログラミ…