Python3関連のことを調べてみた2019年10月30日

NO IMAGE

Qiitaにコードを投稿するための.pyファイルの変換

AtCoder Beginner Contest (A~C問題) の過去問回答を投稿するために用いているコードです。

手順
1. .pyファイル -> .txtファイル変換
2. .txtファイルの中身を、1つの.txtファイルに格納

自身なりの工夫
・ 対象回をrangeで選択できるようにした

(初回投稿日: 2019/10/30, 最終更新日: 2019/10/30)

““python
import re
import os
import shutil
import glob

#対象回をrangeで選択
#*ファイル名例: ABC130_B_Bounding.py

for num in range(117, 137):

fld_path = r’path\02_Atcoder\ABC’
fld_path_txt = r’path\02_Atcoder\ABC\txt’
file_num = r’\ABC’ + str(num)
file_num_list = glob.glob(fld_path + file_num + ‘*’)

元記事を表示

Selenium Python readonlyに値をねじ込む。

###正しいかどうかは別として。

driver.execute_script(“document.getElementsByName(‘name属性’)[0].removeAttribute(‘readonly’);”)
変数名 = driver.find_element_by_name(“name属性”)
変数名.clear()
変数名.send_keys(‘ねじ込む値’)

readonlyを一旦削除
入ってる文字を削除
値を入れる

元記事を表示

日本※で一番※ポーカーが上手い※のは誰か計算してみた(TrueSkill)~実装編~

# 記事へのリンク
1. [理論編](https://qiita.com/syym88/items/6d19b24ce2eebed730d8)
2. 実装編(←本記事)
3. 評価編(書いてます・・・)

# 本記事におけるお断り
本記事は筆者が自学自習のためにデータ取得から計算までを行ったものです。特定の団体や個人から許可許諾はとっていないため、もし内容に問題があるとお考えの場合にはご連絡いただければ幸いです。
また、タイトルにもある通り、単純に強い、上手いを判断するのが困難であるポーカーにおけるスキルの『推定』がやりたかったことです。
本記事を通じて少しでもポーカーに興味を持ってアミューズメントやオンラインでポーカーを始めたいと思う人が増えれば何よりです。

#実行環境
今回環境はGoogle Colaboratoryにて実装しました。

### Google Colaboratory
Googleが公開している無料で使えるハイスペックなJupyterNotebook実行環境です。
Googleアカウントを持っていれば誰でも使えます。
機械学習に使ってほしいっぽい感じで公開されてい

元記事を表示

線形探索(番兵法)

#はじめに
 順番に全部探索していくということで、「for文で一発やんけ!w」と思って説明を読んでいきました。すると、番兵法というものを見てよくこんなこと思いつくなぁと思いました。

#コード
“`linear_search.py
def linear_search(A,key):
i = 0
A.append(key)
n = len(A) – 1
while A[i] != key:
i += 1
if i == n:
return “NOT_FOUND”
return i
“`

#説明
 引数に配列Aと探したい値keyを取ります。見つかれば最初に見つかった配列のインデックス、見つからなければNOT_FOUNDという文字列を返します。keyを配列の末尾に追加(番兵)することによって、whileの終了が保障されているため終了条件がいらなくなっています。(なんかすごい)

#参考文献
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造(https://www.amazon.co.jp/%E3

元記事を表示

PythonのtkinterでGUIを作ってみる_その2

## 過去のおはなし
[PythonのtkinterでGUIを作ってみる]
(https://qiita.com/daisuke8000/items/9b6bb05e78f2bbc0c315)

GUIはまだまだ奥が深いなぁと思ったので投稿します。

## 今回のおはなし「grid」と「StringVar」
gridはWidgetを配置するための手法みたいなやつです。(違う?)
「pack」とか「place」とかあります。(ちなみに前回はplaceでした)
昨日、今日に触る機会があったのでちょっとお勉強がてらやってみました。

## 感想
個人的な感想だが、考え方が少し抵抗ある。
直感的なのはplaceかなぁ。と思う。
gridはなんとなくだが、開発者っぽい考え方だなぁって印象でした。

## コード

“`py

import tkinter as tk

#ボタンバインド用関数
def btn_click():
onp = textbox1.get()
var.set(onp)
if len(onp)!=8:
var1.set(‘Err

元記事を表示

FRIDAがAndroidコミュニティトークンの検証をクラック

(ヒント:日本語はすべてGoogle翻訳からのものです)
## まえがき(前言)
> 这个社区是酷安,以前想过要爬(spider)这软件,但是都忘了,几天前抓了下它的包,发现请求 **headers** 里有一个 **token** 验证,果断就给破了

> このコミュニティはCoolapkで、以前このソフトウェアを入手することを考えていましたが、それを忘れていました。数日前にそのパッケージを入手し、リクエスト** headers **に**トークン**の検証があることがわかりました。 そうです。

## 分析プロセス(分析过程)

最初にバッグをキャプチャします(先抓个包)

![zhuabao.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/317662/34cbd1bc-a01a-4c38-84d3-91b0c92e9aa1.jpeg)

確認に使用されるリクエストヘッダー **X-App-Token** があることがわかります。**X-App-Device** に関しては、携帯

元記事を表示

ubuntu16.04でkeras-yoloを使用し動画を読み込む

# 目的

前回、darknet_rosをインストールしてROS上でyoloを使用してみました。

今度は動画を読みこませたいと思います。

なぜかというと、物体認識をする現場にいるわけじゃないので、
現場で動画を撮影してきてテストしたいと思い…

本家のyolov3は静止画かwebカメラにしか対応していないので、
撮影した動画にたいして物体認識できるようにkeras-yoloをインストールします。
そしてyolov3で学習させた自前のデータを使って認識してみます:dancer::sparkles:

# 環境
ubuntu16.04
Nvidia 384.183
CUDA 9.0
python2.7.12
python3.5.2

# 必要なもの
TensorFlow-gpu
Keras
Keras版YOLOv3

# TensorFlowのインストール

python3系を使っていくので、pip3でpython3にインストールします。
またデフォルトはpython2.7のため、pythonを実行するときには**python3**と指定していきます。

“`
sudo pip3

元記事を表示

Repl.itで爆速でPython3+Flask+SQLite3のプログラムを動かしてみた

## 0.初めに

私はエンジニアではないただのドシロウトです。

Python3+Flask+SQLite3の環境が簡単に作れるRepl.itというオンラインIDEを試してみました。

Repl.it – The world’s leading online coding platform
https://repl.it/

60以上のプログラム言語に対応したIDEみたいです。
無料で使えます。(非公開だと有料)

## 1.使い方

あまりに簡単なので使い方をアニメGIFまとめました。

![anime gif](https://i.imgur.com/A4m0y6z.gif)

たったこれだけです。

ログインしなくても保存できないだけで試すことはできます。

## 2.コピペしたプログラム

すごく単純なFlaskを利用したプログラムです。

WEB画面から以下ができるプログラムです。

* データベースの生成
* テーブルの生成
* テーブル内容一覧表示
* データベースの削除

“`python:main.py
from flask import Flask
impo

元記事を表示

Python Gui

# 初めに

 Pythonによるローカル動作のソフトウェアにおいて、GUI実装には主に3つのライブラリにて実装される場合が多い。

– Qt
– wxWidgets(wxPython)
– Tkinter

あと、そもそもwebアプリケーション的に作成し、GUIはWebブラウザ側にお願いするという方法もある。そうなると、以下のライブラリが考えられる。

– Django
– Flask

Djangoは機能が多く、ローカル動作のソフトウェアで使用するには不要であると考えるため、今回はFlaskに絞る。

## Qt

 QtはC++で実装されたオープンソースである。Pythonによる使用には主に以下のライブラリを使用することが多い。
PyQtの場合は、ネット上の情報量も多く、使用しているエンジニア人口も多い。

– PyQt
– pyside

 QtはGPL、LGPL、商用ライセンスの3つが提供されている。PyQtはGPL、pysideはLGPLで提供され、それぞれに商用ライセンスがある。
商用ライセンスを使用しなくても、GPLおよびLGPLは特に商用利用を禁止していないが、GPL

元記事を表示

始めてのanacondaと仮想環境作成

#初めてAnacondaをダウンロードして、仮想環境を作成するまで
初めてAnacondaの仮想環境を構築したが、少し詰まったので、備忘録として残します。

##環境
Macbook proを使用

“`terminal
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15
BuildVersion: 19A583
“`

##Anaconda-Navigatorインストール後の環境構築

スクリーンショット 2019-10-29 11.33.20.png

Open Terminalでターミナルを起動し、環境を切り替える。

“`terminal
$ conda info -e
# conda environments:
# 現在の環境に*マークがつい

元記事を表示

二分探索

#はじめに
 二分探索は、概念は理解していたのですが、最近のコンテストでいざ書こうとすると終了条件が曖昧だったりしてしまったのでまとめるついでに記事にしてみました。
#コード
“`binary_search.py
def binary_search(A,key):
left = 0
right = len(A)
while right > left:
mid = (left + right)//2
if A[mid] == key:
return mid
elif A[mid] < key: left = mid + 1 else: right = mid return "NOT_FOUND" ``` #説明 ・引数には、ソート済みの配列Aと探索したい数字keyを入れる。 ・探索対象の先頭をleft、末尾+1をrightとする。(探索の継続条件がright>leftになる)
・mid=(left+right)//2とす

元記事を表示

日本※で一番※ポーカーが上手い※のは誰か計算してみた(TrueSkill)~理論編~

# 記事へのリンク
1. 理論編(←本記事)
2. [実装編](https://qiita.com/syym88/items/be75914c742dcdca33ae)
3. 評価編(書いてます・・・)

# 本記事におけるお断り
本記事は筆者が自学自習のためにデータ取得から計算までを行ったものです。特定の団体や個人から許可許諾はとっていないため、もし内容に問題があるとお考えの場合にはご連絡いただければ幸いです。
また、タイトルにもある通り、単純に強い、上手いを判断するのが困難であるポーカーにおけるスキルの『推定』がやりたかったことです。
本記事を通じて少しでもポーカーに興味を持ってアミューズメントやオンラインでポーカーを始めたいと思う人が増えれば何よりです。

#なんでこんなことしようと思ったのか
pandasを勉強する機会があり、継続学習のために興味がある領域でお勉強&アウトプットしたかったらです。
あと、ポーカーというかなり運の要素が入るゲームにおいて実力を正確に計算する事が出来るのかという点は昔から興味がありました。
昔社交ダンスの試合結果100万件をELOレーティングで計算し

元記事を表示

リモートのpython3(psycopg2)からubuntu16.04@AWSのpostgresqlに接続

###前提
#####①ubuntu16.04をAWS上で立ち上げpython3,postgresqlをインストール完了
#####②python3でpsyopg2が扱える
以下はSelectクエリの実行例です。リモートで実行する前にローカルで問題なく実行できることを確認しておきます。

“`python3
#################################
### Selectクエリの実行例 ###
#################################
import psycopg2, psycopg2.extras

# 1. Postgesqlの接続設定(設定に合わせて修正してください)
#HOST = “localhost #ローカルで実行するとき
HOST = “172.0.0.1”
PORT = “5432”
DBNAME = “postgres”
USER = “postgres”
PASSWORD = “p@ssword”
CREDENTIAL = “host={h} port={p}

元記事を表示

VEML6075 を使用して UV インデックスを取得するための Raspberry Pi 講座

##■はじめに
Raspbian がバージョンアップし、 Raspbian Buster になったことから、対応を兼ねて新たに構築します。
Raspberry Pi とはなんぞや、という方向けの記事となっております。
Raspbian Stretch(前バージョン)より標準装備のものがバージョンアップされていて、面倒な作業は特にありません。
手元の Windows マシンから各種準備とセットアップを行いますが、
余計な説明や詳細な用語解説はせず、UV インデックスが取得出来ることをゴールに設定しています。
![IMG_2708.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492248/48403428-e062-cf6f-2c0b-13b2d48a348d.jpeg)

##■使うもの
– Raspberry pi 3 Model B
https://www.switch-science.com/catalog/3050/
Zero でも構いませんが、 GPIO のピンヘッドをはんだづ

元記事を表示

djangoでTemplateDoesNotExist が出たら

Djangoでwebサイト作りの練習をしていたところ上記のエラーが出た。
アプリ内のディレクトリのurls.py やviews.py ではimportができていたので困ってググったところ、プロジェクトのディレクトリ内のsettings.pyでの

“`python:django.py
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [BASE_DIR, “templates”],
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘dj

元記事を表示

数値と演算の組み合わせの問題を深さ優先探索で解く

「数値と演算の組み合わせの問題」とはどういうことかと言いますと、先日Twitterに流れてきた投稿をみたらこんなんがありました。(元ネタがアレなので、問題の設定は変えてあります)

> 勇者は5種類の薬を持っている。
>
> A. MPを半分にする薬
> B. MPを900減らす薬
> C. MPを2000増やす薬
> D. MPを5倍にする薬
> E. MPを500増やす薬
>
> 今のMPは0である。MPを3000にしたい場合、どの順序で薬を飲めばよいか?

普通に計算してもよいのですが、今回は計算機の力を使い総当たりでやってみしょう。
愚直にfor loopを薬の数だけ書くやり方もありますが、面倒くさいので深さ優先探索を使います。

“`python
# n: 計算途中のMP
# lst: 残っている薬
# hist: これまで使った薬
def calc(n, lst, hist):
# 全て薬を使ったら、3000になっているかチェック
if len(lst) == 0:
if n == 3000:
print(hist)
return
# 残っている薬でイ

元記事を表示

pythonで数字当てゲーム : チャンスは6回、範囲は0から10,000まで

shiracamus さん

pythonの勉強をしていく過程で、Qiitaもはじめました。なにか投稿しようと思い、python勉強のために作成したものを投稿します。

## はじめに
最初に数字当てゲームを知ったのは
[**「退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング」**](https://www.oreilly.co.jp/books/9784873117782/)
という本でした。

この本には、1から20までの数字を6回までに当てるゲームのコードが、載っていました。

random.randint()で選ばれた数字を、int ( input () )で入力してもらう。というものです。

これをもとに、数字の範囲を広げました。(+9981!!)
が、しかし、当たるわけがありません。:joy:

そこで、自分なりにヒントのコードを加えて、当てやすくしたり、時間計測を追加したりして、ゲームとしてなんとか成り立つようにしました。

初心者なので細かくコメントを入れています。(本来は適切ではない……)

## 1.ヒントの表示
####

元記事を表示

Atcoder ABC144,python,学習記録

#この記事について

初記事です。azと申します。
pythonで[AtCoder](https://atcoder.jp/)をやっていくので、
学習記録を残していきます。
とりあえず1,2か月で四完目指して頑張ります。

##コンテスト結果
今回は
10/27のABC144、A問からD問までをまとめます。
[AtCoder Beginner Contest 144](https://atcoder.jp/contests/abc144)

| コンテスト名 |AtCoder Beginner Contest 144 |
|:—:|:——————:|
|順位 |4929th / 5557|
|パフォーマンス |119|
|レーティング |29 → 39 (+10##) Highest更新!|
|時間内に解けた|A、B|
|解法〇|C,D(計算の設定ミス)|
##問題と解答
注:入力変数の制約はプログラム内に記述
### A – 9×9
#####問題について
入力:2つの正の整数A,B
出力:九九ができるならその結果、できなければ-1
####ソースコード

元記事を表示

Python3のmap/filterがiteratorを返してることの意味

Python3でmap/filterがイテレータを返すことは知っていたが、トラップにはまってしまったのでメモ

“`python
lst = [1,2,3,4,5]

flist = filter(lambda i: i%2==0, lst)
print(flist)

for i in flist:
print(i)

for i in flist:
print(i)
“`

python2系で実行すると

“`
[2, 4]
2
4
2
4
“`

python3系で実行すると

“`

2
4
“`

イテレータを一度ループさせて終端まで行ってるのでもう一度適用しても何も残ってないですよ、というお話

“`python
flist = list(filter(lambda i: i%2==0, lst))
“`
と書かないといけない

元記事を表示

郵便番号・住所APIサーバー作ったったった

#何を作りたいのか
 郵便番号や住所をgetパラメータで投げたら緯度経度等のJSONが貰えるRESTAPIが欲しい。精度はそこそこでいいから気軽に使えるやつ。

###動機
 無料の某鯖は時々サーバーエラーになったり、利用規約的にあれだったり。あと趣味。

###言語
 pythonで書きます。言語選択は趣味です。

#データの収集
###郵便番号
 みんな大好き[KEN_ALL.CSV](https://www.post.japanpost.jp/zipcode/download.html)ですが、緯度経度は乗ってませんし、細かい所のフォーマットがストレスでマッハです。
※詳しくはこの辺 → [KEN_ALL.CSV (郵便番号検索)の落とし穴](https://qiita.com/nanasess/items/0f0aeaa1f72f599b9142)

 [zipcloudさん(神)](http://zipcloud.ibsnet.co.jp/)が公開されてる加工済みKEN_ALL.CSVを使わせて頂きます。

###緯度経度
 [国交省が公開してるの](http://nlft

元記事を表示

OTHERカテゴリの最新記事