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

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

RaRCTF writeup

# RaRCTF 2021 Writeup
今回は適当に出場してみましたがチーム数が1200弱ありすげーーーと気圧されてましたが
結果は 126位でほぼcryptoだけでこれたので満足です.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1810405/0853f4ad-50b5-b468-0a47-9d2fa5a29435.png)

## 解けた問題

* 解けた問題
* sRSA (100 points)
* unrandompad (150 points)
* Shamir’s Stingy Sharing (200 points)
* babycrypt (200 points)
* PsychECC (400 points)

##sRSA (100 points)
$e,n,ct$が与えられ$ct = flag*e \ \ mod(n)$
よって$ct*e^{-1} = flag*e*e^{-1} \ \ mod(n)$とでき

元記事を表示

M1 MacにPython3をインストールする

# はじめに
Apple M1チップ搭載のMac Book ProにPython3をインストールした時のメモです。
今回は[Miniforge](https://github.com/conda-forge/miniforge)を利用しました。

# やり方
[Miniforge](https://github.com/conda-forge/miniforge)とは最小限のCondaのインストーラーです。
さまざまはCPUアーキテクチャのサポートに重点を置いているので、新しいCPUアーキテクチャのPCにCondaを入れるときに最適です。
今回は直接ダウンロードする方法を紹介します。

## 1. Githubからダウンロードする。
[ここ](https://github.com/conda-forge/miniforge#download)からOS X arm64 (Apple Silicon)Miniforge3-MacOSX-arm64を選択してダウンロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

【Mac】ReactとPython flaskを使ったWebアプリ

Reactの基本的な勉強を済ませ、簡易アプリのソースを読んで知見を蓄え中の身です。本記事は、下記の記事に触発され、愛用しているMacbookのローカル環境で実行した時のメモです。

https://qiita.com/Pu-of-Parari/items/f3733f0ba48e1df50667

## どんなアプリ?
>mecabを使った分かち書きスクリプトを使って、フロントで受け取った入力テキストをサーバー側で分かち書きをし、その結果をフロントで表示するという非常にシンプルなアプリです。

## どんな構成?
>フロント側はReact、サーバー側はpython flaskで実装しています。

## 実装環境
“`
macOS Big Sur 11.2.3
Python: 3.9.6
flask==1.0.2

npm: 7.20.3
“`

## 1. Mecabのインストール
日本語の形態素解析エンジン”MeCab”をMacにインストールしてPython3から利用します。

https://qiita.com/taroc/items/b9afd914432da08dafc8

元記事を表示

Chapter01 – §01 Python 3 の準備

# Python 3 のインストール

PythonにはPython 2 と Python 3 がありますが、Python 2 はこれからはバージョンアップされることはないので、Python 3 で解説していきます。

### Python 3 のオフィシャルサイト

[Python 3 のオフィシャルサイト](https://www.python.org/downloads/)
ここからPythonを無料でダウンロードできます。

インストールの仕方は[このサイト](https://techacademy.jp/magazine/15571)を参考にしてください。

# 統合開発環境の用意
おすすめは、Visual Studio CodeまたはPycharmです。
どちらかをインストールしてください。

### ・Visual Studio Code(VScode)のインストール
[ここから](https://code.visualstudio.com/download)インストール。

### ・Pycharmのインストール
[ここから](https://www.jetbrains

元記事を表示

【Python3】macのpyenv環境下でtkinterを使えるようにする。

#はじめに
tkinterをimportしたファイルを実行しようとしたところ…
長文のエラー文が出ました。

“`
file “/usr/local/cellar/python@3.9/3.9.5/frameworks/python.framework/versions/3.9/lib/python3.9/runpy.py”,
line 188, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _error) file
“/usr/local/cellar/python@3.9/3.9.5/frameworks/python.framework/versions/3.9/lib/python3.9/runpy.py”,
line 147, in _get_module_details return _get_module_details(pkg_main_name, error) file
“/usr/local/cellar/python@3.9/3.9.5/

元記事を表示

gcpで鍵作成-python39-chromedriver_selenium-インストールまで(自分用備忘録)

自分用備忘録なので読みにくい上コピペも多い

#前提環境

“`
# cat /etc/redhat-release
CentOS Linux release 8.4.2105
“`

“`
#ssh-keygen -C “[username]”
“`

>Enter file in which to save the key (C:\Users/???/.ssh/id_rsa):

“`
.ssh/[username]
“`

>Enter passphrase (empty for no passphrase):
Enter same passphrase again:

鍵のパスワード 
鍵を作成した後は.ssh/[username].pubを開いて、gcpのssh鍵認証に貼り付け

“`.ssh/config
IdentityFile ~/.ssh/[username]
“`

.ssh/configに上を追加(鍵ファイル名を追加。でも仕様があまりよくないのでsshコマンドを自作したい) 

上記の鍵でインスタンスにログインする

“`
# ssh [

元記事を表示

【AtCoder】ABC212をPython3で解説(ABCD)

ABC212の解説。

https://atcoder.jp/contests/abc212

## A – Alloy
### 解説

“`Gold, Silver, Alloy“`を問題文のとおりに条件分岐してあげるとAC。

### コード
“`python
a, b = map(int, input().split())

if 0 < a and b == 0: print('Gold') elif a == 0 and 0 < b: print('Silver') elif 0 < a and 0 < b: print('Alloy') ``` ## B - Weak Password ### 解説 暗証番号の強さについて求める問題。 弱い暗証番号というのは、 (1)同じ数が4つ続いているもの (2)```0-9```の数字が各桁で1ずつ増えているもの である。 (1)については、```s.count(s[0])```で文字列のはじめの数字について、文字列sの文字を数え、```4```であれば、すべて同じ数なので、```Weak`

元記事を表示

*執筆途中【Python】アルゴリズム実装で多用する記法

#はじめに

Pythonでアルゴリズムを実装する際によく使う書き方や他言語であまり見かけない便利だった書き方の備忘録です。
注 ) 執筆途中です。ちょっとずつ増えます。
注 ) Pythonをほぼ趣味で使っております。業務で用いていたりアルゴリズムPythonガチ勢というわけではございません。ご了承を。

基本的に標準ライブラリのみを用いております。numpy などは用いません。
面倒だったのでまだスライス関係やリスト内包表記はありません。

#演算子

###インクリメント
他言語でよく見る `i++` のようなインクリメント(/デクリメント)記法が存在しない。

“`python
i += 1
“`
あくまでこのような記法。

###掛け算と累乗
“`python
2 * 3 # print(2 * 3) => 6
“`
アスタリスク1つ `*` で多言語同様、通常の掛け算。

“`python
2 ** 3 # print(2 ** 3) =>

元記事を表示

PythonからVOICEVOXを使う

#VOICEVOX
商用利用可能なAIベースの音声合成ソフトウェア

https://voicevox.hiroshiba.jp/

ボイボと呼びましょう。

APIなのかと思ったら、ダウンロードして.exeを実行すると、ローカルにサーバーが立つみたい。
curlでも利用できるとのことなので、pythonで叩いてみた。
あらかじめ上記リンクから、VOICEVOX本体をダウンロードして実行しておいてください。

#実行環境

当方の実行環境は以下

– CPU: i7 8550u
– GPU: Nvidia MX150
– Python = 3.9.5

CPUで実行しました。

#ソースコード

合成されるファイルは映像系のサンプルレート(モノラルの24000[Hz])なので注意

“`voicevox.py
import json
import requests
import wave

def generate_wav(text, speaker=1, filepath=’./audio.wav’):
host = ‘localhost’
port = 50

元記事を表示

Python3の環境構築

#はじめに

初学者が書いていますので、誤っている箇所などあればご指摘願います。

###前提
・macOS Catalina
・Homebrewはインストール済み
・`pyenv`と`pyenv-virtualenv`を使用して環境構築する
・zsh使用

参考記事
[pyenv と pyenv-virtualenv で環境構築
](https://qiita.com/Kodaira_/items/feadfef9add468e3a85b)[pyenvとpyenv-virtualenvの自分流使い方](https://qiita.com/ksato9700/items/5d9eba10fe6b8e064178)
[pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。](https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd)
[pyenv-virtualenvを使って都合のいいように Pythonパッケージ環境を行き来する話](https://ensekitt.hatenab

元記事を表示

Algorithm | 優先度付きキュー(heapq)をPython3で解説(例題あり)

## 優先度付きキューとは

優先度付きキュー(priority queue)とは、優先度にしたがって、優先度の高いものから順番に取り出すことができるものだ。

その代表例が**ヒープキュー(heapq)**である。公式ドキュメントはこちら。(https://docs.python.org/ja/3/library/heapq.html)

特徴は大きく分けて2つある。

– 最小値、最大値を素早く取り出すことができる
– 値の挿入順は気にしなくても良い

主に使うメソッドは次のとおりだ。

– “`heapq.heapify(heap, item)“`:優先度付きキューの作成
– “`heapq.heappop(heap)“`:最小値の取り出し
– “`heapq.heapush(heap, item)“`:キューへの挿入

“`heapq.heappop(heap)“`、“`heapq.heapush(heap, item)“`の計算量はどちらも$O(logN)$なので、通常のリストでの操作よりも少ない計算量で実装できる。

“`python
# heapq

元記事を表示

スマートホーム目指してラズパイ触ってみた(3) 〜LINE連携&温度通知編〜

##今回の目標
LINE Notifyを使って、自分のLINEアカウント宛に温度を通知させる

他の記事はこちら
[スマートホーム目指してラズパイ触ってみた(1) 〜ラズパイ4+SenseHatセットアップ編〜(Qiita)](https://qiita.com/keilog/items/78dfb492790997fa16b7)
[スマートホーム目指してラズパイ触ってみた(2) 〜Macからリモートデスクトップ接続編〜(Qiita)]
(https://qiita.com/keilog/items/76117db977ce5096ac19)
[スマートホーム目指してラズパイ触ってみた(4) 〜Amazon S3連携編〜(Qiita)]
(https://qiita.com/keilog/items/a7894275daf151686a86)

##Step1 : LINE Notifyでアクセストークンを取得する

まずアクセストークンを取得するために、LINE Notifyにログインします。
https://notify-bot.line.me/ja/ (LINE公式サイト)
手順

元記事を表示

matplotlibで日本語表示ができなくなって困った件

#はじめに
ubuntu20.04 on wsl2にて久々にmatplotlibを使ってグラフのプロットをする際に日本語表示ができなくなって困った際のメモ

#やったこと1
こちらを参考にイチから動作確認

matplotlib – コピペするだけで matplotlib を日本語化する方法 (Windows / Ubuntu 対応)

ここに書いてある通りに行うと、正しく日本語は表示された。フォントとか環境的には問題ないっぽい

#やったこと2
やったこと1の操作を自分のコードに加えてみると以下のようなメッセージが表示されてNG

“`
…. RuntimeWarning: Glyph 27 missing from current font
“`

これは自分のコードになにか問題があると確信した。取り急ぎ以下を確認

“`
linux$ file myplotsample.py
Python script, ASCII text executable
“`

あれ、UTF-8になっていない。これはまずいかも、ということで以下の操作を実行。

元記事を表示

[python]hstack,vstack

# 概要
pythonのhstackとvstackの使い方
# どんな時に使うか
np.appendより使いやすいリストの結合方法?
# 参考
この記事を見ればわかる。
https://deepage.net/features/numpy-stack.html
# hstack
横方向に繋げる。
(10,)と(10,)をhstackをすると(20,)になる。

# vstack
縦方向に繋げる
(10,)と(10,)をvstackすると(2, 10)になる。

# サンプルプログラム

“`python
import numpy as np
a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
b = np.arange(10, 20) # [10 11 12 13 14 15 16 17 18 19]

print(np.hstack((a,b)))
# [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]

print(np.vstack((a,b)))
# [[ 0 1 2 3 4 5

元記事を表示

Pythonでオリジナルのドット絵エディタを作る(2) – ペイントツールの追加

#はじめに
[前回の記事](https://qiita.com/Hisan_twi/items/8534e7e104d60f6ac86a)で作成したドット絵エディタにツールや機能を追加して使いやすいドット絵エディタにしていきます。
追加するツール・機能は以下の通りです。

– パレット
– 線ツール
– 四角ツール(塗りつぶし有り/無し)
– スポイトツール
– 塗りつぶしツール
– 格子ツール
– 取り消し/やり直し

#環境

前回から使用しているPySide6に加えて、以下のライブラリを追加で使用します。
– NumPy (1.19.5)
– OpenCV (4.5.2)
– copy
– collections

NumPyとOpenCVは事前にインストールしておく必要があります。
(copyとcollectionsは標準ライブラリのためインストール不要です)

#ソースコード
まずはソースコードを示します。

“`python:advanced-paint.py
import sys
import copy
import cv2
import numpy as np
fro

元記事を表示

[メモ] Pythonで色付きprintを行うクラスを作成

# コード

一応,その他のPackage等ありますが,簡易クラスなら自分でも作成可能なのでメモ書きします.
ちなみにPackageの一つは [colorama](https://pypi.org/project/colorama/0.3.3/) です.
Color codeは[ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code)に則って記述されます.

## Main code

@shiracamus さんの意見を元にクラス変数を辞書に変更しました.

“`py
class pycolor:
COLORS = dict(
BLACK=’\033[30m’,
RED=’\033[31m’,
GREEN=’\033[32m’,
YELLOW=’\033[33m’,
BLUE=’\033[34m’,
MAGENTA=’\033[35m’,
CYAN=’\033[36m’,
WHITE=’\033[3

元記事を表示

MNISTを使ったKerasの教師有り学習をやってみた

今更ですがDeepLearningを勉強していまして、その最初の一歩としてMNISTで教師有り学習のモデルを自作してみました。環境構築にもプログラム作成にも苦労したので、次回また勉強する時のためにメモを残します。

#環境

今の所、下の環境で一応動作しております。AnacondaとCUDAとCUDNNはホームページからダウンロードしインストールしました。もし、これより最新のドライバが入っていた場合は最新版をアンインストールしてから、下のバージョンをインストールしてください。

* Windows10Home
* Anaconda 4.10.3
* CUDA 11.2
* CUDNN 8.2.1
* Tensorflow 2.5

Anacondaはインストール後、各パッケージが最新になるようにアップデートしました。(アップデートするとAnacondaが持っているパッケージのバージョンが変わるので、この方法でいつもうまくいくかはわかりません!)

“`bash:
conda update –all
“`

Tensorflowは`conda`でインストールすると何故かGPUを認識

元記事を表示

pythonの内包表記でFizzBazz問題を解いてみた【python初心者】


pythonのループ処理について、for文より内包表記のほうが速くて簡潔に書けるので
オススメ!的な記事をよく見かけたので、実際どれくらい早くなるのかFizzBazz問題で試してみました。

###### 2021/8/8 ソースコード(main.py) 全体的に修正
###### 2021/8/9 ソースコード(main.py) 全体的に修正

# 目次

1. [FizzBazz問題について](#Chapter1)
1. [解答](#Chapter2)
1. [結論](#answer)


### 1.FizzBuzz問題について

> 1から100までの数をプリントするプログラムを書け。
> ただし3の倍数のときは数の代わりに「Fizz」を、
> 5の倍数のときは「Buzz」と出力し、
> 3と5の両方の倍数のときには「FizzBuzz」と出力すること。

有名な問題で、上記の要件を満たすプログラムの作成が目的となります。

元記事を表示

AWS CDK ワークショップ for Python の cdk init アナウンス和訳

AWS公式が出しているCDKワークショップのPythonコースをコツコツと進めてます。

https://cdkworkshop.com/30-python/20-create-project/100-cdk-init.html

↑ここでcdk initした時のアナウンスの内容を残しておきたいなと思ったので、自分のためにも投稿
(`/cdkworkshop/README.md`の内容でもある)

# 和訳した文章とコマンド

## CDK Pythonプロジェクトへようこそ!

このプロジェクトの内容を調べてみてください。このプロジェクトは、Amazon SNSトピックにサブスクライブするAmazon SQSキューを含むスタック(`cdkworkshop_stack`)のインスタンスを持つCDKアプリのデモです。
スタック(`cdkworkshop_stack`)のインスタンスを持つCDKアプリのデモです。

cdk.json`ファイルは、CDKツールキットにアプリの実行方法を伝えます。

このプロジェクトは、標準的なPythonプロジェクトのように設定されています。 また、初期

元記事を表示

現在出ている気象警報・注意報を取得する

#初めに
現在出ている注意報・警報を取得したいと思うことは無いでしょうか?
現状、それらの情報を取得できるAPIはたいてい有料なことが多いです。
そこで今回は気象庁のWebAPI(?)を利用して取得しようかと思います。
#事前準備
[このページ](https://www.jma.go.jp/bosai/warning/#area_type=japan&area_code=010000&lang=ja)から地方エリアのコードと市町村区のコードを取得しておきます。
例えば東京都千代田区の場合、[関東甲信地方の東京都東京地方](https://www.jma.go.jp/bosai/warning/#area_type=offices&area_code=130000&lang=ja)のURLのoffices&area_code=””の部分が地方エリアコードとなります。
そのあと[千代田区](https://www.jma.go.jp/bosai/warning/#area_type=class20s&area_code=1310100&lang=ja)を選択した際URLのclass20s&

元記事を表示

OTHERカテゴリの最新記事