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

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

競プロで役立つPythonデータ入力チートシート

#数値
##単一の数値
数値を一つ入力

“`python:
I = int(input())
“`

##複数の数値
“`
3 5 6 7
“`
のような数値が空白区切りで入力される際

“`python:
A, B, C, D = map(int, input().split())
“`

##数値を受け取る数が未定かつリストにしたいとき
例えば入力が

“`
3 5 6 7 ,,, N
“`
の様な時以下の様なlistを作成したい時

“`
[‘3’, ‘5’, ‘6’, ‘7’,,,’N’]
“`

“`
list = list(map(int, input().split()))
“`

#文字
##文字列
“`python:
N = input()
“`

##受け取る文字列数が決まっており、リストにしたいとき(Iは回数)

“`python:
list = [input() for i in range(I)]
“`

例えば3回入力されると決まっており、

“`python:
orange
grape
strawberry
“`

元記事を表示

ゼロから始めるLeetCode Day4 「938. Range Sum of BST」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

Leetcode

基本的にeasyのacceptanceが高い順から解いていこうかと思います。

前回
[ゼロから始めるLeetCode Day3 「1313. Decompress Run-Length Encoded List」](https://qiita.com/KueharX/items/c6b7d47ff6209fc96593)

# 問題
[938. Range Sum of BST](https://leetcode.com/problems/range-sum-of-bst/)

B

元記事を表示

カレントディレクトリに対するコマンド Python

#カレントディレクトリに対するコマンド
全てosモジュールを使用するので

import os
を最初に打っておく。

– カレントディレクトリの取得

path = os.getcwd()
print(path)

– ディレクトリ内のフォルダやファイルの表示

ls = os.listdir(os.getcwd())
print(ls)

– ディレクトリの移動

os.chdir(“Desctop”) #移動はこれだけでOK
curdir = os.getcwd()
print(curdir)

– カレントディレクトリのディレクトリ名を取得

curdirname = os.path.basename(os.getcwd())
print(curdirname)

元記事を表示

【AtCoder解説】PythonでABC164のA, B, C問題を制する !

**AtCoder Beginners Contest 164**の**A,B,C問題**を**Python3**で解く方法を、なるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、D問題に残せる時間が増える

# ABC164

開催日: 2020-04-26(日) 21:00 ~ 2020-04-26(日) 22:40 (100分)
A問題提出人数: 11236人

| パフォ | AC | 時間 | 順位 | 目安 |
| :—-: | :–: | :–: | :—-: | :————-: |
| 400 | ABC- | 29分 | 7198位 | 茶パフォ |
| 600 | ABC- | 18分 | 5854位 | 8回で茶色レート |
| 800 | ABC- | 12分 | 4425位

元記事を表示

AtCoder Beginner Contest 164 参戦記

# AtCoder Beginner Contest 164 参戦記

## [ABC164A – Sheep and Wolves](https://atcoder.jp/contests/abc164/tasks/abc164_a)

2分半で突破. 書くだけだったけど、コードテストが詰まってて、慌ててローカルでテストしたりして時間がかかった.

“`python
S, W = map(int, input().split())

if W >= S:
print(‘unsafe’)
else:
print(‘safe’)
“`

## [ABC164B – Battle](https://atcoder.jp/contests/abc164/tasks/abc164_b)

2分半で突破. B問題なので、素直にシミュレートしても TLE しないので書くだけですね.

“`python
A, B, C, D = map(int, input().split())

while True:
C -= B
if C <= 0: br

元記事を表示

AtCoder(ABC)164にPythonで挑戦!A~C問題

#はじめに
AtCoder ABC164にPythonで挑戦しました!
Ratedとしては2回目の挑戦です。
A〜Cまで解けました。
D問題はTLEでした。

#A問題
sがwより大きければsafe、その他の時はunsafeを出力すれば終わりです

“`Python3:A.py
s, w = map(int, input().split())
if s > w:
print(“safe”)
else:
print(“unsafe”)

“`

#B問題
無限ループで、aまたはcが0以下になるまで回しましょう
高橋くんが先攻なので、両方とも負になってしまう回は、高橋くんの勝ちなので先にflg1を処理するようにコードを書きましょう

“`Python3:B.py
a, b, c, d = map(int, input().split())
flg1 = False
flg2 = False
while True:
c -= b
a -= d
if c <= 0: flg1 = True if a <= 0:

元記事を表示

ゼロから始めるLeetCode Day3 「1313. Decompress Run-Length Encoded List」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

Leetcode

基本的にeasyのacceptanceが高い順から解いていこうかと思います。

前回
[ゼロから始めるLeetCode Day2 1108. Defanging an IP Address](https://qiita.com/KueharX/items/85a13e7329f5c93b317b)

# 問題
[1313. Decompress Run-Length Encoded List](https://leetcode.com/problems/decompress-run-

元記事を表示

windows10にpython3.8+venvでjupyter notebookを作成する

# 前言
anacondaを推奨していますが、でも重いなあで、今回はpipを使ってインストールしています。
# Pythonをインストール
割愛します。
# venv仮想環境の作成
“`
python -m venv myvenv
“`
# venv仮想環境を有効化
PowerShellに実行するとき、「セキュリティ エラー: (: ) []、PSSecurityException」エラーの場合、管理者でPowerShellを起動して、「Set-ExecutionPolicy RemoteSigned」を実行します。

“`
Set-ExecutionPolicy RemoteSigned
.\myvenv\Scripts\activate
“`
# venv仮想環境を無効化(必要な場合)
“`
deactivate
“`
# venv仮想環境を削除(必要な場合)
“`
rm -rf myvenv #delete folder
“`
# Jupyterをインストール
“`
pip install jupyter
“`
# 好きなFolderにJupyterを起動
`

元記事を表示

OpenCVとPythonでビデオチャットをもっと楽しくしよう

# はじめに

久しぶりにPythonの記事を書いてみました。おそらく最近は仕事、プライベートでビデオチャットを使うことが多くなったかと思います。今回はPythonと[OpenCV](https://opencv.org/)を使ってビデオチャットをもっと楽しくするようなハックをしてみようかと思います。

# つくるもの

せっかくのビデオチャットなので普段の自分とは違う姿になりたいなと誰もが思うはずです。今回は以下のような感じで「手をかざすと魔法陣が出てくる」ような[Snap Camera](https://snapcamera.snapchat.com/)もどきを作ってみます。

![魔法使い.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209689/6dbf7545-529b-8a0e-1db1-de4407810f68.jpeg)

# 手の検出

手の検出にはOpenCVでサポートされているカスケード分類器を使用します。詳しい内容は[こちらの記事](https://www.pro-s.co.j

元記事を表示

Python: Queue に型を付ける

皆さん、普段 Python でコードを書くときはちゃんと型を書いてますよね?
まだ型の書き方を知らない場合は Software Design 2020年 5月号の『Python でも型チェックしよう』を読むといいと思いますよ (宣伝)。

Excel の 5digit を日付に戻す方法

エクセルファイルで日付が 5 digit で表示された時に、日付を計算する方法です。
![date_apr26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/8af841ca-cfa0-e603-a4e7-084b9a3cfe03.png)

“`py
#! /usr/bin/python
#
from dateutil.parser import parse
from datetime import timedelta
#
# ——————————————————————
def convert_proc(tt):
pp = parse(“1900-1-1”) + timedelta(days = tt – 2)
return pp
# ——————————————————————
tts = [43883,

元記事を表示

イミュータブルな型を作った話

# はじめに

### 自己紹介
H1ronoです。

### この記事でやること
pure pythonでイミュータブル(変更不可能)な型を作りました。具体的に何をしたのか、詳しく伝えられたらと思っています。

# 何を作るの?

ベクトルの型を作ります。具体的に言うと、

* クラス名は`MyVector`
* 2次元のベクトルを表す
* イミュータブル
* 大きさを`length`、方向を`direction`(degree)として保存する(座標は保存しない)
* インタプリタで`MyVector(length=大きさ, direction=方向)`のように表示される
* 位置ベクトルとしての座標を`x`、`y`という名前の`property`で参照できる(例: `vector.x`など)
* `+`、`-`でベクトルどうしの加算、減算ができる
* `*`でベクトルどうしを乗算した場合は内積を返す
* `*`でベクトルと実数を乗算した場合はベクトルの大きさがその実数倍になったものを返す
* `/`でベクトルと実数を除算した場合はベクトルの大きさがその実数で割り算されたものを返す

元記事を表示

Windows10へTensorFlow2をインストールする

## はじめに

4月になって、新しいPCを購入しました。
またゼロからTensorFlow環境を構築したので記録を残します。
ということで、何も入っていない状態からのインストールです。

## 環境

– OS : Windows 10 64bit
– Python : Python 3.7.7
– TensorFlow : 2.1.0
– jupyterlab : 2.1.1
– CUDA : 10.1 update 2
– cuDNN : 7.6.5
– GPU NVIDIA GeForce MX250

## TensorFlow2 の動作要件

TensorFlow2 の動作要件は、[https://www.tensorflow.org/install?hl=ja](https://www.tensorflow.org/install?hl=ja)から確認できます。

– Windows 7 以上
Windows10にインストールするので問題なし。
– Python 3.5–3.7

元記事を表示

PygameがmacOSで動かない問題

## はじめに

Macでpygameを使ってゲームを開発していた際、pygameが上手く動いてくれなかったのを解決したのでメモ

## 環境

* macOS Calatalina 10.15.1
* Python 3.7.3

## 解決方法

pygameのバージョンを `2.0.0.dev4` に上げる

2020年4月26日現在、`pip install pygame` だとpygame1.9.4がインストールされるため、バージョンを指定してインストールする必要がある

“`
$ pip install pygame=2.0.0.dev4
“`

## 参考

* https://u29.hatenablog.com/entry/2019/10/26/035327
* https://github.com/pygame/pygame/issues/555

元記事を表示

[Tensorflow] tensorflowでarray_to_imgの使い方

# tensorflowでarray_to_imgの使い方
自分用メモ

## 環境
– Anaconda
– python 3.5
– Tensorlow 1.5.0
– (jupyter notebook)

## array_to_img
array_to_img が使えなかった。下記のモジュールインポートで解決した。

“`
from tensorflow.python.keras.preprocessing.image import array_to_img
“`

元記事を表示

PPTXファイルの画像ファイルへの変換

###はじめに

PPTXから画像ファイルへの変換について調べたので、その備忘録として記載します。
Windows ApplicationをPythonで使うには、comtypesまたは、pywin32をインストールする必要があります。また、操作する(今回はPowerpoint)アプリケーションもインストールされている必要があります。
COMという言葉が出てきますが、Component Object Model (COM)のことのようです。communication port(COMポート)とは違います。

###参考
Windows ApplicationをPythonで使うには
(1)[PowerpointをPythonで使うための検討](http://students.hatenablog.com/entry/2018/11/25/213353)
(2)[Automating Windows Applications Using COM – Practical …](https://pbpython.com/windows-com.html)
(3)[PythonでExce

元記事を表示

Djangoの関数ベースビュー

# はじめに

ここでは、djangoの関数ベースビューの基本について解説していきます。
アプリケーションディレクトリ下の`views.py`に書いていきます。
モデルとして`models.py`の`SampleModel`を利用するものとします。

# リストページ用のビュー関数

ブログの記事一覧ページなど、複数のレコードを一覧表示するページに使える関数です。

“`python:views.py
from django.shortcuts import render

from .models import SampleModel

def list_func(request):
object_list = SampleModel.objects.all()
context = {‘object_list’: object_list}
return render(request, ‘app/app_list.html’, context)
“`

`object_list`は、表示対象とするモデルに含まれる全てのレコードのリストです。
`conte

元記事を表示

以前やったことの棚卸し 1

大学生のときに書いたコードを整理して、セルフ解説して理解を深めようと思う。何かしてないと落ち着かないし。

卒論で機械学習について取り組んだ。「バンディット問題」というらしい。

むかしむかし、あるところに「バンディットマシン(以下、マシン)」と呼ばれるスロットマシンがあったとさ。

マシンを実行(以下、プレイ)するとパチンカス(以下、プレイヤー)は確率$p (0 \leq p < 1)$ でアタリを、確率$1-p$ でハズレの結果を返す。 乱数$x (0 \leq x < 1)$ の値を$p$ と比較する。 ```python3:bernoulli.py def bernoulli(self, x): if p < x: return 0 else: return 1 ``` アタリのときに報酬1 を、ハズレのときに報酬0 を与える関数である。 プレイが$n$ 回のときの総報酬を$reward_{(n)}$ として、 プレイを無限回続るときの様子を数式で表すと以下のような感じになる。しらんけど。 ```math \lim_{n→

元記事を表示

WindowsのPythonでCPUの拡張命令セットを確認する

## はじめに

TensorFlowをソースからコンパイルする時などに、CPUの拡張命令セットを知りたいことがあります。
Linuxであれば、/proc/cpuinfoで確認できます。
Windowsで取得する方法を探していたらPythonで出来る方法を見つけました。

## 環境

– OS : Windows 10
– Python : Python 3.7.7
– cpuid : 0.0.9

## 必要なモジュールのインスト―ル

Pythonの cpuid モジュールをインストールします。

“`shell
>pip install cpuid
“`

# コード

実行するコードは下記になります。
cpuid_chk.py として、保存します。

“`python:cpuid_chk.py
import cpuid

print(“Vendor ID : %s” % cpuid.cpu_vendor())
print(“CPU name : %s” % cpuid.cpu_name())
print(“Microar

元記事を表示

OTHERカテゴリの最新記事