Python3関連のことを調べてみた2022年11月19日

Python3関連のことを調べてみた2022年11月19日

初稿

初投稿です。
これからPythonやC++についてアウトプットしていきたいと思います。
まずは手始めに挨拶を。

“`python:qiita.py
print(“Hello World.”)
“`

“`c++:qiita.cpp
#include

using namespace std;

int main(int argc, char** argv) {
cout << "Hello World." << endl; return 0; } ``` よろしくお願いします。

元記事を表示

cv2.imshow()で何も表示されずフリーズした

# 解決方法
opencvをpipで入れ直した
“`
pip install opencv-python
“`
Anacondaの仮想環境でpipを使うのはよろしくないが、とりあえず動いた

元記事を表示

paizaラーニング「足したり引いたり Python3編」

https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_step2
#### 私の回答
“`
n,a,b=map(int,input().split())
if (n+a+b==0) or (n+a-b==0) or (n-a+b==0) or (n-a-b==0):
print(“YES”)
else:
print(“NO”)
“`

#### 模範解答

“`
n, a, b = [int(x) for x in input().split()]

if n + a + b == 0:
print(“YES”)
elif n + a – b == 0:
print(“YES”)
elif n – a + b == 0:
print(“YES”)
elif n – a – b == 0:
print(“YES”)
else:
print(“NO”)
“`

– 本問題は N ± A ± B が 0 になるか判定する問題です。

元記事を表示

Paizaラーニング 「けた数の測定 Python3編」

https://paiza.jp/works/mondai/conditions_branch/conditions_branch__complex_step1
けた数の測定なので、単純にlen関数を使えば良いのかと思ったので、以下のように回答しました。
しかし、条件分岐メニューの問題集だったので、模範解答は条件分岐が使われていました。

#### 私の回答
“`
n=input()
print(len(n))
“`

#### 模範回答
“`
n = int(input())

if n <= 9: print(1) elif n <= 99: print(2) else: print(3) ``` - Nのけた数を出力します。 - Nの大きさで以下のように場合わけします。 1. Nが 9 以下の場合、答えは 1 です。 1. Nが 10 以上 99 以下の場合、答えは 2 です。 1. Nが 100 以上 999 以下の場合、答えは 3 です。

元記事を表示

【Python】昔C言語で作ったゲームをPythonでリファクタリングしてみた

# この記事について

特に初心者にとってためになる記事ではないと思います。
ただ今後のために記録に残したいがために記事にしました。
読む価値がありそうなのはゲームがしたい人、初心者のコードのレビューをしたい人とかでしょうか。

# ?始めに

昔自分で作ったゲームをPythonで書き直し、同時にリファクタリングもしてみましたー!!

?そのゲーム

https://qiita.com/scythercas/items/77d213b9f6ead9954dd6

あげた直後に[コメント](https://qiita.com/scythercas/items/77d213b9f6ead9954dd6#comment-9fde105241cf0dc75c86)にて @shiracamus さんが凄く綺麗に書き直してくださりました。

ここで初めて関数分割という概念を知り、見やすさとコードの簡潔さに感動した覚えがあります。

今回は成長出来ているか確かめるため参考にせずにやってみました(もちろん当時はめちゃくちゃ見ました)。

# ?ルール説明

丁寧に説明してるつもりですが、プレイしてい

元記事を表示

Python 入門 第1章 Pythonとは

## 1.1 概要
Pythonは、1991年にイギリス出身のプログラマー **グイド・ヴァンロッサム**(Guido van Rossum、1956年1月31日 – )によって開発されたオープンソースのプログラミング言語である。
バージョンが上がるに連れさまざまな機能が追加され、2022年11月現在 Pythonの最新のバージョンは**3.11.0**である。

C,C++やJavaは**動的型付け言語**であり、コンピュータのデータ型のような低水準の詳細を指定しなければない。
それに対し、Pythonなど**動的型付け言語**は、使う前に変数の型の宣言の強制はしてこない。

## 1.2 特徴
– 構文がシンプルで読みやすい
– 標準ライブラリが他の言語に比べて多い

## 1.3 The Zen of Python
どのプログラミング言語でもそれぞれスタイルがあり、以下のコードを入力を入力すると、Pythonの「まえがき」みたいな詩を読むことができる。時間があれば読んでおくと面白い。

“`
>>> import this

The Zen of Python, by Tim

元記事を表示

最近傍探索による測位座標の補正および取得

# Pythonで出発点と進む距離・方位から到達点の緯度経度を計算する方法
Pythonのpyprojライブラリを使用した。pypojは地球が楕円体であることを考慮して、地理的な位置情報を使った計算ができるライブラリです.
また,出発点と方位角・距離を与えて到達点の緯度経度を計算する方法がfwdメソッドを使えば簡単に求めることができる。

fwdメソッドには引数として出発点の経度・緯度、方位角・距離を与えます。戻り値は到着点の経度・緯度・逆方位角(到着点から出発点を見た時の方位角)です。

また最近傍探索を用い座標の補正を行うにあたり緯度経度と平面直角座標の相互変換を実装した。

“`
import csv
import numpy as np
from numpy.linalg import norm
import pyproj

grs80 = pyproj.Geod(ellps=’GRS80′)
coordinate_path = “coordinate.csv”
azimuth_path = “azimuth.csv”
azimuth_data = []

def write

元記事を表示

AtCoder Beginner Contest(ABC) 275 – Pythonでのバーチャル参加結果と内容整理

# 1. 前書き
AtCoderBeginnerContest(ABC)の参加結果と内容の整理、および外部の解説記事を参考にした上で、自分なりに解法を整理していきます。
使用言語はPythonで行きます。本業ではJavaかRubyonRailsユーザーですが、計算速度の問題であったり、トレンドに乗っておくという意味でも(こちらが大きい)、Pythonに慣れていきたいと思います。

# 2. コンテスト内容
– コンテスト名
– AtCoder Beginner Contest 275
– 開催日時
– 2022/10/29(土) 21:00 – 22:40
– 実施区分
– バーチャル参加
– 2022/11/2(水)

# 3. 結果
|区分|結果|所要時間|実行時間|
|:–|:–|:–|:–|
|A問題|AC|9:42|24ms|
|B問題|AC|12:55|24ms|
|C問題|未提出|-|-|

# 4. 解説

## 4-1. A問題

### 4-1-1. 問題文
> AtCoder村にはN本の橋があり、i本目(iは1以上N以下の整

元記事を表示

Python Language – format() built-in Floating Point Rounding(浮動小数点数の端数処理 – 丸め)

Python では、他の多くの言語と同様に浮動小数点数における端数の丸めが行われます。

__15. Floating Point Arithmetic: Issues and Limitations__
https://docs.python.org/3.9/tutorial/floatingpoint.html

__The Perils of Floating Point__
https://www.lahey.com/float.htm

Python では IEEE 754 の `Round to nearest, ties to even(最近接丸め(偶数)= 偶数丸め(= 銀行家の丸め =Bankers’ Rounding ))` を採用しています。
__IEEE 754__
https://en.wikipedia.org/wiki/IEEE_754#Rounding_rules

※ decimal 等で丸めの方法を変更することも可能です。
__Rounding modes__
https://docs.python.org/3/library/decimal.htm

元記事を表示

Pythonを管理者権限で実行するためのスクリプトを作成した。

pythonを管理者権限で実行するにはショートカットを作成して、管理者権限で実行すればいい。
そのため、pythonのスクリプトのショートカットを作成するスクリプトを作成した。

# 実行環境
* windows 10 home
* python 3.9
* pip 22.0.4

# スクリプト
“`python3
pip install pywin32
pip install winshell
“`

“`python3:make_shortcut.py
import os, sys, winshell
from win32com.client import Dispatch

def main():
if len(sys.argv) != 2:
return

# スクリプトの存在確認をする
target_path = sys.argv[1]
if os.path.isfile(target_path) is False:
return

save_path = target_path + ‘

元記事を表示

CpawCTF Writeup Level 3 Q29.[Crypto] Common World (注意)

“`
Cpaw君は,以下の公開鍵を用いて暗号化された暗号文Cを受け取りました.しかしCpaw君は秘密鍵を忘れてしまいました.Cpaw君のために暗号文を解読してあげましょう.

(e, N) = (11, 2369340497431162671379990822433726318097895674820839187178326428100973633055122934745680713690552962641998544386308203526343253572523992031600526606837454217101748263231924758704973191054184356468204948649877872869418172246590734972127684806183871524778784496030081870971485995342060553188076579024938501806950916465758789165317420769511105290047834282604567133150078121126324292962573135255062070

元記事を表示

Prophetを使ってみた(異常検知)

今回はProphetを使った異常検知をやってみたいと思います。
予測検知の作業を実施した後をベースとしていますのでまだの方は、下記記事を先に見てもらえればと思います。

https://qiita.com/nw-engineer/items/d167e9e193124bacfb96

https://qiita.com/nw-engineer/items/f09a0313f065dcc5276e

また、下記サイトを参考にさせていただきました。
https://www.kaggle.com/code/vinayjaju/anomaly-detection-using-facebook-s-prophet

## 1. ライブラリインストール
まずは、追加で下記ライブラリをインストールします。
“`bash
conda install -c conda-forge altair
“`

## 2. ライブラリインポート
では、必要となるライブラリをインポートしましょう。
“`python
import pandas as pd
import numpy as np
import

元記事を表示

伝説のトレーダー集団が使った投資戦略を検証してみる

## 伝説のトレーダー集団「タートルズ」について

> ウォール街で伝説的トレーダー集団「タートルズ」―
彼らはプロの投資家による指導により、素人がトレーダーになれるかどうか?という実験の結果生まれたトレーダー集団でした。
> 【[タートルズ投資とは?そのルールと概要](https://www.ig.com/jp/trading-strategies/turtle-trading–what-is-it-and-what-are-the-rules–181207)より引用】

要するにズブズブの素人を伝説のトレーダー集団に仕立てた、すごい投資戦略ということです。
(つまりこの戦略使えば誰でも大金持ちってコト….!?!?)

今回はこのすごい投資戦略が本当に通用するのか検証したいと思います。

## どうやって検証するの?(バックテストとは?)

検証はバックテストを実施することで行います。

バックテストとは過去のデータを使って、その投資戦略がどの程度良いルールなのか(どのぐらい利益を出せるか)を検証することです。
この過程を行うことで、実際に売買する前にその買い方が本当に適切な

元記事を表示

【文字検出_備忘録】OpenCV X Python エッジ処理画像における物体検出

続き

エッジ処理あとの画像で物体検出をしようと思う。待て待て焦るんじゃない。
たくさんネット記事が出てくるので、何となくできそうな気はするけど
ちょっとここで立ち止まって、画像をちゃんと確認したい。

### エッジ処理後の画素値
早速画素値を見てみよう。
“`
y_num[0] x_num[0]:255
y_num[0] x_num[1]:255
y_num[0] x_num[2]:255
y_num[0] x_num[3]:255

y_num[186] x_num[116]:255
y_num[186] x_num[117]:0
y_num[186] x_num[118]:0
y_num[186] x_num[119]:0
y_num[186] x_num[120]:0

“`
ちゃんと、255か0になってますね。この255->0に落ちる点が特異点な気がするなー。
なんかそういうのできないかなーと思って。この2次元行列をX軸方向に一つずらして計算する方法を考えてみました。ちょっと文字では言いづらいので頑張って残しますね。
![元行列.png](https://q

元記事を表示

40代おっさんStreamlitを学ぶ②

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## 前回の記事

## Streamlit

### Input widgets

“`python
import streamlit as st
import pandas as pd
import numpy as np

csv = pd.read_csv(‘dummy.csv’) # csv読み込み適当なの入れました

df = pd.DataFrame(csv)

if st.button(‘住所’): # ボタン
st.dataframe(df[‘住所’])

if st.checkbox(‘氏名’): # チェックボックス
st.dataframe(df[‘氏名’])

options = st.multiselect( # オプションで選択肢の中

元記事を表示

Python Language – Index & Slice

Python には様々な Data Type があり、それらの中には Index や Slice でその一部を取得したり、変更したりできるものがあります。

__3. An Informal Introduction to Python__
https://docs.python.org/3.9/tutorial/introduction.html

__5. Data Structures__
https://docs.python.org/3.9/tutorial/datastructures.html

ここでは、以下の代表的な Data Type について、使用方法の違いをご紹介します。

– String (Str)(文字列)
– List(リスト)
– Tuple(タプル)
– Set(集合)
– Dictionary (Dict)(辞書)

#### 環境
以下の Python 3.9 / Linux 環境で確認します。
“`shell
$ uname -si
Linux x86_64

$ python3.9 -V
Python 3.9.13

$ python3.9

元記事を表示

Python Language – Comprehension(内包表記)

Python では、いくつかの言語がサポートしている内包表記 (Comprehension) が使用可能です。

__5.1.3. List Comprehensions__
https://docs.python.org/3.9/tutorial/datastructures.html#list-comprehensions

__リスト内包表記__
https://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%B9%E3%83%88%E5%86%85%E5%8C%85%E8%A1%A8%E8%A8%98

ここでは、以下の代表的な Data Type について、簡単な使用方法をご紹介します。

– String (Str)(文字列)
– List(リスト)
– Tuple(タプル)
– Set(集合)
– Dictionary (Dict)(辞書)

#### 環境
以下の Python 3.9 / Linux 環境で確認します。
“`shell
$ uname -si
Linux x86_64

$ python3.9 -V
Python 3.9.

元記事を表示

PythonでFlaskを使ってPOSTで送られたデータの確認用

PythonでFlaskを使い、ウェブアプリを作っています。
POSTで送られたデータの確認をしたいと思い、コードを書きました。
このコードは、汎用で使えると思います。
HTMLの部分は、base.htmlで作って継承できるように書きました。

“`Python
{% extends ‘base.html’ %}
{% block head %}
データの出力
{% endblock %}
{% block content %}

キーとバリュー

キー一覧

    {% for key in user_data.keys() %}

  • {{ key }}
  • {% endfor %}

入力されたデータ

    {% for key, value in user_data.items() %}

  • {{ key }}: {{ value }}
  • {% end

元記事を表示

『サイバーセキュリティプログラミング第2版』の読書メモ (4)

ひきつづき『サイバーセキュリティプログラミング第2版』の読書メモです。

https://www.oreilly.co.jp/books/9784873119731/

4.3 章まで進みました。記載されているコードをじっくり確認しながら読み進めています。

## P86 detect 関数より

python から OpenCV を使って画像データに人の顔が含まれるかを検出する関数です。が、「ある一行」の理解につまづきました。

“`python
rects[:,2:] += rects[:,:2] # ⑤
“`

P87 の解説によると、

> … rects は (x, y, width, height) という形式であり、x, y は四角形の左下の座標、width, height は四角形の幅と高さを表す。
> ⑤に示す Python のスライス構文により上記の rects データを (x1, y1, x1+width, y1+width) ― 言い換えると (x1, y1, x2, y2) ― に変換することで、cv2.rectangle の引数として利用しやすくしている

元記事を表示

Tableau OnlineへのJWTを用いたSSO

ハロー世界。りくとんです。みんな元気にSSOしてますか?(挨拶)

この記事はTableau Onlineの埋め込みビューに対してSSOするために、2022年1月に実装された連携アプリの機能を利用して実装した記事です。
一応(あんま役に立たない)公式ヘルプ載せときますね。

◆Tableau Cloud ヘルプ – 直接信頼を使用して接続済みアプリを構成する
https://help.tableau.com/current/online/ja-jp/connected_apps_direct.htm

# 概要
・Tableau Onlineの埋め込みビューに対してSSO。
・SAML認証のIdP立てるのだるいし借りるとランニングが…。→連携アプリで解決。
・JWT発行するにはPythonかJavaのサンプルコードが載ってた。今回はPythonで実装。
・環境依存したくないからGAE上にデプロイしよう。AjaxでJWT取得してSSO。
・JWTとはなんぞやという知識は先人のQiitaを参考にしてください。

◆Qiita – 認証におけるJWTの利用について
https://qiita

元記事を表示

OTHERカテゴリの最新記事