- 1. AtCoderわからん日記_4 ABC081B,087B,083B(ABSより)
- 2. 横書きの文章を縦書きに変換してTwitterなどに投稿したい
- 3. Raspberry Pi3にOpenCV4をインストールする
- 4. AtCoder Beginner Contest 059 過去問復習
- 5. pythonで素数一覧を作成してみた
- 6. Pythonでアルゴリズム(深さ優先探索、dfs)
- 7. PythonでQRコード作成。定期券発行の際に毎回同じこと書いて、並びたくない。。
- 8. 国会会議録をAPI経由で取得する
- 9. MATLABからPythonライブラリを利用したかった話
- 10. Slackでランチのお誘いbot
- 11. データサイエンティスト育成講座 Chapter3 1+2日目
- 12. 深層学習: Day1 NN
- 13. 深層学習: Day2 CNN
- 14. 科目> 深層学習: Day3 RNN
- 15. 深層学習 Day4 強化学習・Tensor Flow
- 16. python素人が、リストについてまとめてみる②
- 17. [Python3 入門 2日目] 2章 数値、文字列、変数
- 18. 【Python】JSONファイルに登録されたWebサイトのページを一括表示するツールを作成したこと&引っ掛かったところについて
- 19. 論文の実装(特許文書からのブートストラップ手法を用いた課題・効果表現対の抽出)-途中
- 20. LINE BOT で ウェブページの更新監視する
AtCoderわからん日記_4 ABC081B,087B,083B(ABSより)
#はじめに
[AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~](https://qiita.com/drken/items/fd4e5e3630d0f5859067#5-%E9%81%8E%E5%8E%BB%E5%95%8F%E7%B2%BE%E9%81%B8-10-%E5%95%8F)
しばらくコンテストがないのでこちらの記事に載っているAtCoder Beginners Selectionの問題をやってみました。
B問題かあ、とわりとなめてかかっていたんですが、どれもすごく難しかったです。そりゃあ、これだけ解けば闘えるなあと感じました。
あと、な~んかおかしいなあと思いつつ記事を書いていたんですが、すっっごい勢いで誤字をしまくっていたので直しました。あまりにも恥ずかしいので何かは言いませんが、気づいていた方がいたら、初心者なので生暖かい目で見てください。すみません。#ABC081B – Shift only
黒板に N 個の正の整数 A1,…,AN が書かれています.
すぬけ
横書きの文章を縦書きに変換してTwitterなどに投稿したい
Twitterなど、ほぼ全てのSNSは横書きですね。Pythonプログラミングの勉強も兼ねて、これを縦書きに変換するPythonスクリプトを書いてみましょう。
# Tweet
以下のツイートを縦書きにしてみたいと思います。
“`python
tweet = ”’\
普通は Tweet は横書きなんだけどさ、
これを縦書きにしたいわけよ。
そうすると、検索されにくくなるんじゃね?
いっちょ Pythonでやってみないか?
”’
“`“`python
tweet
“`‘普通は Tweet は横書きなんだけどさ、\nこれを縦書きにしたいわけよ。\nそうすると、検索されにくくなるんじゃね?\nいっちょ Pythonでやってみないか?\n’
# 1文字1文字に分解
次のようにすれば1文字1文字に分解できます。
“`python
for line in tweet.split(“\n”):
print([line[i] for i in range(len(line))])
“`[‘普’, ‘通’, ‘は’, ‘ ‘, ‘T
Raspberry Pi3にOpenCV4をインストールする
OpenCV4.2.0をインストールする。
■環境
- Raspberry Pi 3
- g++ 4.9.2
- Python3.4.2■前提条件
以下をインストール済み
- Git
- cmake
- GNU Make■手順
1.メモリ確保に失敗しないようにswap領域を増やす“`Source
$ sudo nano /etc/dphys-swapfile
“`“`CONF_SWAPSIZE“`を“`100“`から“`1024“`に変更する。
“`Source:/etc/dphys-swapfile
CONF_SWAPSIZE=1024
“`変更を反映する。
“`Source
$ sudo /etc/init.d/dphys-swapfile restart
“`2.依存ファイルをインストールする
“`Source
$ sudo apt update
$ sudo apt install build-essential cmake git pkg-config libgtk-3-dev “libcanbe
AtCoder Beginner Contest 059 過去問復習
#所要時間
#[A問題](https://atcoder.jp/contests/abc059/tasks/abc059_a)
大文字にするにはupper関数
“`python:answerA.py
s1,s2,s3=input().split()
s=s1[0]+s2[0]+s3[0]
print(s.upper())
“`#[B問題](https://atcoder.jp/contests/abc059/tasks/abc059_b)
比較するだけ
“`python:answerB.py
a=int(input())
b=int(input())
if a>b:
print(“GREATER”)
elif a
pythonで素数一覧を作成してみた
pythonを使って素数の一覧を表示するプログラムを作成しました。
##pythonで素数一覧を表示するプログラム“`python:main.py
def primeNumberCreate():
primeList = [2] # 2以下の素数リストを作成
maxNumber = 1000 # 1000以下の数字をチェック
for x in range(3, maxNumber):
for y in primeList:
if x % y == 0:
break
else:
primeList.append(x) # 割り切れるものがなければリストに追加
return primeListdef indentAdjustment(primeNumbers): # インデント調節のため
count = 0
for num in primeNumbers:
print(f”{num:4}”, end=”
Pythonでアルゴリズム(深さ優先探索、dfs)
#はじめに
pythonで深さ優先探索をする場合、再帰ではパフォーマンスに不安があると聞いたので、stackで実装をしようと思いその備忘録として記事に残そうと思いました。
学習の手助けになれば幸いですし、何かアドバイスなどありましたら是非コメントを頂きたいです!#テーマ
今回は、深さ優先探索の中でも代表的なテーマである、ある頂点をスタートして、各頂点まで到達するのにかかる時間について考えます。(時間というよりは順番?)その際、到達した時刻を調べる**行きがけ順**、最後に通過する時刻を調べる**帰りがけ順**、両方を**タイムスタンプ**でまとめて記録するという3つの場合を扱います。最後に通過するというのは、その頂点より下の頂点すべての探索が終わった直後のことを指します。
dfsの詳しい解説は省きますが、スタート地点から行けるところまで深く行き、それ以上進めなくなったら前の分岐点まで戻り同じことを繰り返していきます。ここで、頂点番号が若い方を優先的に探索するとします。#入出力
###入力
1行目に頂点の個数を整数で、その後N行に頂点番号、隣接する頂点の個数、隣接する頂
PythonでQRコード作成。定期券発行の際に毎回同じこと書いて、並びたくない。。
年明けに通勤のための定期券発行(再発行)にいってきました。
すんごい行列。。。
なんだこれは。ディズニーランド的な。
毎回同じこと書いてるし。並ぶし。めんどくさい。
ということでこれって、QRコードを一回発行して、各自がスマホでかざせばかなり効率化できるのでは??
![スクリーンショット 2020-01-08 6.26.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240982/a0e28ecd-e96f-7f8a-cd44-e69f84c84a0b.png)
まずはQRコード作成用のモジュールをpipでインストール。
“`
$ pip install qrcode“`
あとは、初回に属性情報を求めて、QRコード化。
“`
qrmake.pyimport qrcode
name=input(‘氏名は?’)
address=input(‘住所は?’)
age=input(‘年齢は?’)
tel=input(‘電話番号は?’)
start=input(‘出発は?’)
国会会議録をAPI経由で取得する
# 国会会議録をAPI経由で取得する
## TL; DR
pythonからAPI叩いて、任意の国会議事録を収集します。
## 1. 公式情報
[国会会議録検索システム](https://kokkai.ndl.go.jp/#/)からGUIで検索も出来ますが、[ちゃんとAPIのマニュアルがあります](https://kokkai.ndl.go.jp/api.html)。
## 2. キーワードを指定して検索&取得する
ここでは、2010年~2019年の10年間の発言を対象として、以下気ワードを含む議事録を収集します。
* 人工知能
* 機械学習
* AI
* ビッグデータ“`python
# -*- coding: utf-8 -*-
“””
Created on Thu Dec 26 15:05:04 2019@author: boomin
pip install untangle
“””import urllib
import untangle
import urllib.parseimport re
import pandas as pd
impo
MATLABからPythonライブラリを利用したかった話
# はじめに
## この記事について
MATLABとPythonにはそれぞれ有利な点があります。
MATLABは行列演算に強く,日本語のドキュメントやSimlinkの存在などが強みです。
一方で,Pythonは無料で使用でき,scikit-learnなどの豊富な機械学習ライブラリが魅力です。
ですから,これらを使い分けたい場合もあります。そんなときのために,[MATLABからPythonを直接呼び出す機能](https://jp.mathworks.com/help/matlab/getting-started-with-python.html)があります。
(逆に[PythonからMATLAB関数を呼び出す](https://jp.mathworks.com/help/matlab/matlab-engine-for-python.html)こともできますが,今回は触れません。)ただ,調べてみても[公式のドキュメント](https://jp.mathworks.com/help/matlab/getting-started-with-python.html)があまり実用的では
Slackでランチのお誘いbot
##お誘い
毎日決まった時間にchannel全員をお昼を誘い、出発時間直前に出発をお知らせします。
「[いい感じにランチを決める Slack ボットを作った](https://qiita.com/kimihiro_n/items/7808a56c10700704b9a2)」を使わせていただいています。“`.js
function isHoliday(){
var today = new Date();
//土日か判定
var weekInt = today.getDay();
if(weekInt <= 0 || 6 <= weekInt){ return true; } //祝日か判定 var calendarId = "ja.japanese#holiday@group.v.calendar.google.com"; var calendar = CalendarApp.getCalendarById(calendarId); var todayEvents = calendar.getEventsForDay(today);
データサイエンティスト育成講座 Chapter3 1+2日目
## スコープ
標題的には以下の内容だ– 記述統計学と単回帰分析
– 記述統計学
– 単回帰分析
– 総合問題
– 統計の基礎と可視化
– ローレンツ曲線とジニ係数少ない項目数に対しての意味不明度や危険臭がプンプンするが、基本的には計算はPythonに任せていいはず。
### read_csv
実際に問題を解くに当たって、データをCSVから読む。それには、Pandasでread_csvを使用する。
確か、DataFrameを読み込ませるのには他にもいくつか手段があった気がするけれど、read_csvのパラメータをみていて気が付いたのは、> ?pd.read_csv
Signature:
pd.read_csv(
filepath_or_buffer,
sep=’,’,
delimiter=None,
header=’infer’,
names=Noneって感じで、セパレータとデリミタの指定ができるということ。
同じ意味では?と思い、> pd.read_csv(“xxx.csv”, sep=”;
<科目> 深層学習: Day1 NN
[![sutudy-ai](http://ai999.careers/bnr_jdla.png)](http://study-ai.com/jdla/)
*****
#<科目> 深層学習
[深層学習: Day1 NN ]
(https://qiita.com/matsukura04583/items/6317c57bc21de646da8e)
[深層学習: Day2 CNN ]
(https://qiita.com/matsukura04583/items/29f0dcc3ddeca4bf69a2)
[深層学習: Day3 RNN]
(https://qiita.com/matsukura04583/items/9b77a238da4441e0f973)
[深層学習: Day4 強化学習・Tensor Flow]
(https://qiita.com/matsukura04583/items/50806b750c8d77f2305d)##深層学習: Day1 NN (講義の要約)
+ ニューラルネットワーク(NN)でできること
+ 回帰
+ 結果予想
<科目> 深層学習: Day2 CNN
[![sutudy-ai](http://ai999.careers/bnr_jdla.png)](http://study-ai.com/jdla/)
*****
#<科目> 深層学習目次
[深層学習: Day1 NN ]
(https://qiita.com/matsukura04583/items/6317c57bc21de646da8e)
[深層学習: Day2 CNN ]
(https://qiita.com/matsukura04583/items/29f0dcc3ddeca4bf69a2)
[深層学習: Day3 RNN]
(https://qiita.com/matsukura04583/items/9b77a238da4441e0f973)
[深層学習: Day4 強化学習・Tensor Flow]
(https://qiita.com/matsukura04583/items/50806b750c8d77f2305d)##深層学習: Day2 CNN (講義の要約)
### 深層学習全体像の復習–学習概念
1. 入力層に値を入力
2. 重み、バ
科目> 深層学習: Day3 RNN
[![sutudy-ai](http://ai999.careers/bnr_jdla.png)](http://study-ai.com/jdla/)
*****
#<科目> 深層学習目次
[深層学習: Day1 NN ]
(https://qiita.com/matsukura04583/items/6317c57bc21de646da8e)
[深層学習: Day2 CNN ]
(https://qiita.com/matsukura04583/items/29f0dcc3ddeca4bf69a2)
[深層学習: Day3 RNN]
(https://qiita.com/matsukura04583/items/9b77a238da4441e0f973)
[深層学習: Day4 強化学習・Tensor Flow]
(https://qiita.com/matsukura04583/items/50806b750c8d77f2305d)##深層学習: Day3 CNN (講義の要約)
### 深層学習全体像の復習–学習概念
<科目> 深層学習 Day4 強化学習・Tensor Flow[![sutudy-ai](http://ai999.careers/bnr_jdla.png)](http://study-ai.com/jdla/)
*****
#<科目> 深層学習目次
[深層学習: Day1 NN ]
(https://qiita.com/matsukura04583/items/6317c57bc21de646da8e)
[深層学習: Day2 CNN ]
(https://qiita.com/matsukura04583/items/29f0dcc3ddeca4bf69a2)
[深層学習: Day3 RNN]
(https://qiita.com/matsukura04583/items/9b77a238da4441e0f973)
[深層学習: Day4 強化学習・Tensor Flow]
(https://qiita.com/matsukura04583/items/50806b750c8d77f2305d)##深層学習: Day4 強化学習・Tensor Flow (講義の要約)
+ Tensor FlowはGoogleが提供。レイブラリと
python素人が、リストについてまとめてみる②
#はじめに
Pythonを超初心者がまとめてみよう
https://qiita.com/kkhouse/items/675b846d0bcf41cd191fPython初心者 演算はこれだけ覚えとくといいよって話
https://qiita.com/kkhouse/items/74d7acb768e6542339acPython素人がリストについてまとめてみる①
https://qiita.com/kkhouse/items/a6cc69b81428701d12b2この辺の続きです。シリーズ化はしてませんがなんとなくシリーズになりそうな予感。
かける時間に制限を設けてますので、今回はリストに関して駆け足でまとめます。前回は、メソットをメゾットとかいてありがたい指摘をいただきました。
ご指摘いただけることに感謝しつつ、続けていこうと思います。#メソッドいろいろ
せっかくなので、メソッドをいろいろあげながらまとめていこうと思います。
###L.index(x,start,end)
プログラミングではインデックス番号という考え方があります。簡単にいうとリスト
[Python3 入門 2日目] 2章 数値、文字列、変数
#Pythonのデータ型
・ブール型(TrueまたはFalseの値を持つ)
・整数型(43,23000000などの小数点以下がない数値)
・浮動小数点数(π=3.1415….のように小数点以下の部分がある数値、あるいは10e3のような指数表現。10e3は10の3乗という意味で1000を意味する。)
・文字列(文字の並び)#2.1 変数、名前、オブジェクト
Pythonは全てがオブジェクトとして実装されている。(Rubyもそうだったな)
##オブジェクトとは?
データを入れてある透明な箱のようなもの。
オブジェクトには、上記のようなデータ型があり、そのデータで何ができるかが決まる。
そして、型にはボックスに入っているデータの値を変更できる(ミュータブル)、変更できない(イミュータブル)も決める。###オブジェクトイメージ(対話インタープリタで実践)
1. 7という値に対してaという名前の変数を与える。 ⇨ 整数値7を入れたオブジェクトの箱が作られる。
※変数はただの名前であり、代入しても値はコピーされない。あくまでデータを入れているオブジェクトに名前を付けるだけ。名前は値自
【Python】JSONファイルに登録されたWebサイトのページを一括表示するツールを作成したこと&引っ掛かったところについて
#1.この記事について
###きっかけ
ECサイトや作品投稿サイトなどで同じ検索タグのページを一気に開くGUI型のツールが欲しかった。※chromeなどではブックマークでフォルダにまとめて入れて一挙に開くことは可能だが、
変更したり追加したりするのはjsonとかのほうが手早いし、そのためにブックマークの編集を頑張るのもめんどくさかった。
あとはTkinter実装の再練習も含めて。######※スクレイピングは用いていません(今後連携することも考えていますが…)。
######※したがってseleniumも用いていません。######[※最新のツールとソースコードはGitHubに上げてます(後述)](#5終わりに)
#2.やりたいこと
・(jsonクラスは以前に作ったものを改良&共通部品化)
・Tkinterのコンボボックスのハンドリングクラスを実装&共通部品化
・mainメソッドでGUIを設定し、データを読み取り、GUIで選択されたwebページを開く#3.使用したツール・環境
・Windows10
・Python 3.7.0
・開発はPycharm#4.作成し
論文の実装(特許文書からのブートストラップ手法を用いた課題・効果表現対の抽出)-途中
#1.概要
・[前回](https://qiita.com/niship2/items/1ba5eadd9183534179a6)の論文の内容を踏まえスクリプトに落とし込んでみた。(が途中で力尽き停滞中)
・未完成だが、クロスブートストラップ手法は体験できた。
・やたら似た感じの関数や配列ばっかになってしまったのでクラスなどをうまく使えばもっと簡潔に書けるのでは。
・頭がこんがらがってきて辛い。#2.環境
Google Colaboratory
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/72e189de-2264-d91d-0904-554c4bfe71d6.png)](https://colab.research.google.com/drive/1rsJ6DYB_yYDnmJVEIXBhOLauQuw6YnTt)#3.詳細
事項
実装するに当たり論文を何回も読み直したところ、関数とかリストがたくさん必要なことを発見し苦しむ。
下記のような感じで読み流すだ
LINE BOT で ウェブページの更新監視する
## tl;dr
* 完全に個人用であれば、かんたんに LINE の Bot を作成することができました。
* Broadcast(友達登録した全員に送信)であれば サーバーも不要で動かせます。
* また、ngrokなどを活用することで、特定少数のグループに投稿することもサーバー不要で可能でした## はじめに
* 限定商品の販売ページのようにウェブページを定期的に確認しに行きたいときがあると思います。
* ここでは Python で 定期的な更新監視と LINE BOT による通知をするコードを書いてみました。## 流れ
1. LINE Developers に登録
2. Channel access token を手に入れる
3. LINE 上で bot と友だちになる
3. [line/line-bot-sdk-python](https://github.com/line/line-bot-sdk-python) を使ってLINE BOTを書く
4. [psf/requests-html](https://github.com/psf/requests-html) を使っ