Python3関連のことを調べてみた2020年03月21日

Python3関連のことを調べてみた2020年03月21日

【Python】ABC133B【AtCoder】

プログラム初心者がつまずきそうな箇所。
重複なしの2重ループ。
俺はこれ系の問題を`右上三角形問題`と勝手に定義しているw

#[ABC133B](https://atcoder.jp/contests/abc133/tasks/abc133_b)
添字とかあると問題理解するのが大変・・・
とりあえずD次元とかいわれても想像できないので2次元でイメージする。
要は
①異なる2点間の距離の組み合わせすべて計算して
②それぞれの距離が整数かどうか
を調べればおk

##①異なる2点間の距離の組み合わせすべて計算
スクリーンショット 2020-03-21 6.20.34.png
右上の三角形(黄色の部分!)の距離を調べればよい!だから`右上三角形問題`!!!
(A点とB点、A点とC点、・・・D点とE点)
コードにするとこ

元記事を表示

感染症数理モデル事始め2 ~基本再生産数って何~

# 初めに
昨今、新型コロナウイルスの流行に伴って感染症のニュースが話題になっており、基本再生産数などのワードがニュースでもたびたび出てくるようになりました。今回は、最も単純な感染症数理モデルであるSIRモデルを題材として、基本再生産数について紹介させていただきます。なお、当方は当該分野のプロではありません。そのため、誤りがあるかもしれませんが、そこはお許しください。また、誤りを垂れ流すことは当方としても望まないところではりますので、もし誤りがございましたら、ご指摘をいただけると幸いです。

# SIRモデルとは
基本的には、以前書かせていただいた記事で紹介したSEIRモデルから潜伏期Eを除いて、さらに単純にしたものです。
https://qiita.com/Student-M/items/4e3e286bf08b7320b665

SIRモデルでは、すべての人口を次の集団に区分して、その時間発展を微分方程式で表現します。
– S(Susceptible):免疫がなく感染しうるもの
– I(Infected):感染症が発症しているもの
– R(Recovered):発症から回復し、

元記事を表示

【Python】Atomで競技プログラミング用の環境構築【Mac】

Atomで競プロに必須の標準入力
`input()`
が使用できるPythonの環境構築の情報がググってもあんまりなかった…
ので記事にしてみます!
ちなみにMacです。Windowでもできるかは不明!

#python3のインストール
[公式サイト](https://www.python.org/downloads/)からダウンロード
#atomのインストール、初期設定
以下の記事が参考になりました!
[atom・pythonで競技プログラミングのテスト環境構築](https://qiita.com/crukky/items/73c1322f5929b1ca5834#%E5%8F%82%E8%80%83%E8%B3%87%E6%96%99)
#その他やる事
ホームディレクトリ(同階層にはダウンロードとかデスクトップとかある)に
「python」というフォルダを作ってそのフォルダ内に

– input.txt
– test.py

の2ファイルを作る。
これで準備完了。
イメージはこんな感じ↓
スクリーンショット 2020-03-21 4</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Python</div>
<div class='tag-cloud-link'>ATOM</div>
<div class='tag-cloud-link'>ターミナル</div>
<div class='tag-cloud-link'>Python3</div>
<div class='tag-cloud-link'>競技プログラミング</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/rudorufu1981/items/5168ae41025d56fe7ecd'>元記事を表示</a></div>
<h3 id=Tensorflow-gpu 2.1.0でCUDNN_STATUS_NOT_INITIALIZEDが出る問題

# はじめに

Tensorflow2.1.0で遊ぼうと思ったらCUDNN_STATUS_NOT_INITIALIZEDのエラーが出たので、解決方法を書いていきます。
※Tensorflow2.0.0でも同様のエラーが出るかもしれません。

# 環境

– OS :: Windows10 home
– GPU :: NVIDIA RTX2070
– cuDNN :: 7.6
– CUDA :: 10.1
– Python 3.7.6 :: Anaconda custom (64-bit)
– tensorflow :: tensorflow-gpu==2.1.0

環境は以下を参考にして入れました。
https://www.tensorflow.org/install/source#tested_build_configurations

# エラー内容
“`
2020-03-21 00:29:53.137414: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened

元記事を表示

Python と SQLite3 でList と Bool を実装した(個人的メモ)

## まえがき
sqlite3 で JSON を読み込むときにほしかったので作った。忘れないようにメモする

## 実装

Pythonの型をSQLiteで使うために`sqlite3.register_adapter`を使う。
反対に、SQliteからPythonに変換するためには、`sqlite3.register_conveter` を使う。

“`python
import sqlite3

# ユーザ定義型 その1
List = list
sqlite3.register_adapter(List, lambda l: ‘;’.join([str(i) for i in l]))
sqlite3.register_converter(‘IntList’, lambda s: [str(i) for i in s.split(bytes(b’;’))])

# ユーザ定義型 その2
Bool = bool
sqlite3.register_adapter(Bool, lambda b: str(b))
sqlite3.register_converter(‘Bool’, lam

元記事を表示

[実践編]Pukiwikiのエンコードされた添付ファイルの名前をデコードする方法2

## はじめに
[前回の記事](https://qiita.com/a27yb/items/03966d05caefd6e97ade)では、ファイル名をデコードする方法を紹介しました。
今回の記事では、添付ファイルのデコードから新しいファイルの生成まで行っています。

## ディレクトリ構造
/home/$user/eucjpDecoder

eucjpDecoder内に**downloaded**と**attach**ディレクトリを作成し、**downloaded**ディレクトリ内にPukiwikiの添付ファイルが保存されている**attach**ディレクトリを挿入します。
こちらの環境では、Zipファイルの展開先を**downloaded**ディレクトリに指定しました。

##コード

“` python3

import os
import shutil

import pdb
pdb.set_trace()

fileList = os.listdir(path=”./downloaded/attach”)

for i in range(len(fileList)):

元記事を表示

Djangoで多読を記録するwebアプリを作った話

#はじめに
英語多読,読む度に多読手帳を開いて記録するのはメンドウだし,モチベが維持できない...ということで多読手帳をWebアプリにしました.
つくったもの→https://tadokuapp.herokuapp.com/tadoku/

#機能
紙の多読手帳のように日付やタイトル,語数などを羅列するのでは味気ないので,カレンダー上に語数が表示されるようにしました.また,月ごとに読んだ語数を棒グラフで出力されるようにしました.
![Screenshot from 2020-03-20 02-51-34_Original.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545304/826b87af-c177-2ec0-3a7b-b267e7f975e2.jpeg)
![Screenshot from 2020-03-20 02-55-13_Original.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545304/bc

元記事を表示

Cythonの型の取り扱いが面倒だったので気を付けた点をまとめた

Cythonの使い方についての解説はあるが、型についての記事が少ないように感じたのでまとめる。
CythonはほぼPythonと変わらない書き方でCとPythonをインターフェースを作れる、更にPythonの高速化が望める言語である。しかし、CとPythonの型が混在することで型エラーが頻発する。私はCythonの難しさは**型のコントロール**であると思った。

#静的型付けと動的型付けの融合
CythonはPythonのような動的型付けもできるし、Cのような静的な型付けができるという言語だ。Pythonで動的型付けと静的型付けの強みを享受できる便利な機能であるが、CythonではPythonの型だけでなくCの型が混在するため、注意しなければならないポイントが多い。
Cythonを使用する時に、肝に銘じておいて欲しいのは**Cythonは型を明示的に型付けしていなければ、それはPythonの型として扱われる。(実体がPythonレベルの型でない場合、Cレベルの型にキャストされる)**ということである。
ちなみに、Cythonでは`vector`を`vector[int]`と

元記事を表示

Python で excel・wordの読み書き

## はじめに

コピペが面倒だったので、Python で excel・wordの読み書き行いました。
しばらくしたら忘れそう&とにかく動かしたい時のために、書き置きしておきます。
動作確認は、2020年3月20日に行っています。

## 環境

– OS : Windows10
– Python : 3.7.6
– openpyxl : 3.0.3
– python-docx :0.8.10

扱うのがExcel・Wordファイルなので、Windows上のPythonで実行しています。
実行はすべてコマンドプロンプトから行っています。

## Excelファイルの操作で必要なモジュールのインストール

Excelの操作にopenpyxl モジュールを使用しています。

“`shell
>pip install openpyxl
“`

参考:[openpyxl – A Python library to read/write Excel 2010 xlsx/xlsm files](https://openpyxl.readthedocs.io/en/stable/tutoria

元記事を表示

vps 上の Arch Linux に Jupyter notebook をインストール

次のページを参考にしました。
[Jupyterを導入しよう -リモート編-](https://qiita.com/Miggy/items/5466a2c1e968602f3ebe)
[リモートサーバでjupyter notebookを起動させローカル環境で使う](https://qiita.com/Miggy/items/5466a2c1e968602f3ebe)

1) Jupyter のインストール
次のページにあります。
[Jupyter Installation](https://wiki.archlinux.org/index.php/Jupyter#Installation)

“`bash
sudo pacman -S jupyter-notebook
sudo jupyter nbextension enable –py –sys-prefix widgetsnbextension
sudo pacman -S ipython
“`

2) sha鍵 の生成

“`text
$ ipython
Python 3.6.6 (default, Jun 27 201

元記事を表示

【ディープラーニング】機械学習初心者が競艇1位予想を作れるのか試してみた。

# はじめに
ディープラーニングの勉強を始めて1ヶ月。

基礎的なものは理解できた気がしてきたので、何かできないかと考えてみました。

そしてふと、この競艇の順位予想が思いつきました。

順位予想ができるという確信はありませんでしたが、ボートレースのデータのオープンソースが公開されていることがわかり、これはやってみるしかないと思いました。

# 参考にしたデータ元と特徴量
↓データ元のサイトは下記リンクから飛ぶことができます。↓
[BOTE RACE OFFICIAL タウンロード・他](https://www.boatrace.jp/owpc/pc/extra/data/download.html)

選手のデータから勝率まで細かく載っているので学習させるにはちょうどいい情報量だと思います。

今回学習させるデータの種類は以下の通りです。

1. 艇番
2. 年齢
3. 体重
4. 級別
5. 全国勝率
6. 全国2率
7. 当地勝率
8. 当地2率
9. モーターナンバー
10. モーター勝率
11. ボートナンバー
12. ボート勝率

とりあえずこの情報量で学習させていきます。

元記事を表示

nginx、uWSGI、Djangoの構成でEC2にアプリケーションをデプロイする

# 概要

 この記事は初心者の自分がRESTful なAPIとswiftでiPhone向けのクーポン配信サービスを開発した手順を順番に記事にしています。技術要素を1つずつ調べながら実装したため、とても遠回りな実装となっています。

前回の [Djangoで画像を配信できるwebAPIを作る](https://qiita.com/Ajyarimochi/items/b7278c357b2ffca183b5) で クーポンの画像も配信できるようにし、必要な機能については一旦全て実装できたと思います。次はサーバにデプロイをしてパブリックな環境からAPIを利用できる状態にします。

大まかな作業手順は

1. クラウドのインスタンスを立てて必要なソフトやパッケージをインストール
2. APIをサーバにデプロイ

です。

この記事は **2. APIをサーバにデプロイ** について纏めています。
[1. クラウドのインスタンスを立てて必要なソフトやパッケージをインストール の記事はこちら](https://qiita.com/Ajyarimochi/items/674b703622155e4

元記事を表示

Windows10 DCGAN導入

# 概要
win10でDCGANのプログラムを動作させるときに詰まったのでメモしておく。

使用コードはこちら
https://github.com/carpedm20/DCGAN-tensorflow

## 環境
Windows10 Pro (v1909)
Anaconda v4.8.2

## 結論
Anaconda 環境に対して、下記コマンド入力すればよい。
※今回はGPU版 tensorflowをセットアップした。

“`cmd:install.bat
pip install tensorflow-gpu==1.15
pip install scipy==1.1.0 –user
pip install pillow
“`

## 詰まったところ
tensorflowの最新版では動作しない?
⇒ しない
  tensorflow.contrib は v1.15以前にしか存在しないため

参考リンク:
https://github.com/tensorflow/tensorflow/issues/31350

元記事を表示

Pythonを選ぶ上で注意しておくべきこと

# Pythonを選ぶ上で注意しておくべきこと
プロジェクトを立ち上げようといったときにプログラミング言語はどうするか?ということも決めなくてはなりません。そこで本投稿ではPythonを選ぶ上で注意しておくべきこととして、実例をもとにまとめました。参考になればと思います。
## 誰のための記事か
本投稿は以下の人に向けた記事です。

– 他のプログラミング言語を使いこなしていてPythonの雰囲気はわかる人
– Pythonのチュートリアルっぽいことはやったけど現場では書いていない人
– Pythonに興味があるプログラミング初心者

## 目次
– Pythonは良い言語
– ファイルにベタ書きして良い時とそうでない時がある
– 型宣言しなくて良い訳ではない
– 思ったより簡単に書ける言語ではない
– 可読性は低くなりがち
– それでもPythonを選ぶ理由

## Pythonは良い言語
Pythonはシンプルで良いですよね。とても気に入っています。型宣言しなくていいし、JavaScriptみたいな非同期処理じゃないし沢山ライブラリが公開されてるし、

元記事を表示

HDF5へ様々なファイルの格納

##はじめに
様々な実験データファイルをまとめる必要があり、階層構造をもつHDF形式でのファイルの格納方法について備忘録として記載します。

####参考情報
・HDF一般
[Pythonを使いHDFファイルの階層構造を把握してデータを読み込む](https://qiita.com/skotaro/items/873507dc8f8f967bbc03)
[意外と奥が深い、HDFの世界(Python・h5py入門)](https://qiita.com/simonritchie/items/23db8b4cb5c590924d95)

・text、jsonファイルの保存の参考
[HDF5のpython実装で文字列データを圧縮して保存するだけ](https://qiita.com/sage-git/items/1d17d4058eca6a6a4826)
[How to use HDF5 files in Python](https://www.pythonforthelab.com/blog/how-to-use-hdf5-files-in-python/)

・excelファイルの保存

元記事を表示

cmd上からお気に入りのフォルダを開くスクリプト

コマンドプロンプト上から、お気に入りのフォルダを開く簡易スクリプトを作成しました

# 必要要件
・windows(10で動作確認)
・python3系
・pyperclip

# 使い方
以下のような形で使用できます
(argparseほぼベタ貼りです)

“`
usage: eopen.py [-h] [-o] [-c] [-l] [-a] [-d] [favorite name]

arguments:
-h, –help ヘルプ表示
-o, –open 対象のお気に入り登録名でオープン(デフォルト)
-c, –cmd 対象のお気に入り登録名でコマンドラインをオープン
-l, –clip 対象のお気に入り登録名でクリップボードにペースト
-a, –add 対象のお気に入り登録名で、クリップボードのテキストをファイルパスとして登録(または上書き)
-d, –delete 対象のお気に入り登録名で削除
“`

バッチやエイリアス登録等で使うのが主かと思います

## 例

元記事を表示

【鬼滅の刃で学ぶDjango】順参照・逆参照のクエリセット取得方法

# Django使ってる?
PythonのWebフレームワークでお馴染みのDjango。『いつ、どのサイトにどんなツールが導入されたかが分かるSimilarTech』によれば、シェアでは殆どの国でRuby On Railsに劣るものの、トレンドはDjangoが右肩上がりの模様。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286189/db203405-770d-4477-7529-640873782b69.png)
> [Django VS Ruby On Rails](https://www.similartech.com/compare/django-vs-ruby-on-rails)

さて、本記事の対象者はDjangoをある程度使った事がある人、MTV(あるいはMVC)モデルが多少なりとも分かる人向けの内容となっております。まだ触ったことないよって人は、[公式サイト](https://docs.djangoproject.com/ja/3.0/intro/)のチュートリアルか

元記事を表示

LINE BOT(オウム返し)を作る

#LINEBOTで単純なオウム返しを、Heroku、Flask、line-bot-sdkで作成した。丸2日かかり詰まった点も多いのでメモも含めて共有。

・Mac
・Python

#(1)環境整備、ディレクトリ構成
デスクトップに、ディレクトリtest_linebotを作成。
ディレクトリ内に仮想環境を構築して起動。

“`
python3 -m venv .
source bin/activate
“`

最終的なディレクトリ構成は以下の通り

“`
test_linebot
├main.py
├runtime.txt
├Procfile
└requirements.txt
“`

#(2)必要なフレームワークをインストール

“`
pip install flask
pip install gunicorn
pip install line-bot-sdk
“`

#(3)main.pyを作成

“`.py:main.py

from flask import Flask, request, abort
from linebot import (
LineB

元記事を表示

PythonでのDB接続管理の良さそうな方法の紹介

# はじめに
とあるOSSのコードを眺めてて、良さそうなのがあったのでそれの紹介をば。

# コード
とあるOSSというのは、[Apache Airflow](https://github.com/apache/airflow)。
この中で、[airflow/utils/session.py](https://github.com/apache/airflow/blob/master/airflow/utils/session.py) がいい感じでした。

## 簡単な説明

まずは、 `session.py` から。

“`python
import contextlib
from functools import wraps

from airflow import settings

# contextlib.contextmanager を指定すると with を使って close を自動でやってくれる
@contextlib.contextmanager
def create_session():
“””
Contextmanager that will c

元記事を表示

【Python3】リクルートカードの支払いが来月幾らか確認しよう【Selenium】

#クレジットカードの来月の支払いの確認が面倒くさい!
タイトルの通り、わたしは__来月の支払いを確認するのを怠ったばっかりに__、
__何となくリボ払いにして借金が減った気がした錯覚に陥りました。__
という事で、今回は前回と同じパターンで、

__スクリプトでサクッと支払情報をサクッと貰ってきましょう。__

例によってあなたがPCを起動した時に走らせるcronを使えば、全てのクレジットカードの支払を管理する事が出来ます。
カード会社毎に支払日が違うので、後々グラフ化も考えています。

__グラフ化や、他の会社のクレジットカードの請求情報の取得解説の要望があったら言って下さい。__

##注意するべき点
__ 今回は特にないです。

OS:Windows10
GoogleChrome バージョン: 70.0.3538.110(Official Build) (64 ビット)
Python:3.70
Selenium Webdriver:この記事を書いた時点で最新のもの
chromedriver.exe:この記事を書いた時点で最新のもの

※スクリプトと同じフォルダに’chromedr

元記事を表示

OTHERカテゴリの最新記事