- 1. PythonであるLambda関数から別のLambda関数を呼び出す
- 2. Pythonで画像のエッジ検出と直線検出をする
- 3. AtCoder ユニークビジョンプログラミングコンテスト2022冬 D問題解説(Python コード付)
- 4. Tweepyで作った画像を呟くBOTをGCPで定期実行させる(素人)
- 5. paizaラーニング「二次元配列の行ごとの和 Python3編」
- 6. paizaラーニング「二次元配列の最大の要素 Python3編」
- 7. roboflowを用いたデータセットのアノテーションのやり方
- 8. paizaラーニング「二次元配列での要素の検索 Python3編」
- 9. 【python】勉強メモ 速習Flask⑥
- 10. paizaラーニング「二次元配列の出力 Python3編」
- 11. paizaラーニング「指定された範囲・行数の数字の出力 Python3編」
- 12. paizaラーニング「指定された行数の数字の出力 Python3編」
- 13. paizaラーニング「指定された数字までの出力 Python3編」
- 14. [python] ISO8601 UTC文字列からJST datetime変換
- 15. アルゴリズム実技検定(PAST) 第11回 G問題 Python解答例(木の判定)
- 16. ZeroNetを使う
- 17. paizaラーニング『フィボナッチ数』
- 18. paizaラーニング「二点間の距離 2 Python3編」
- 19. paizaラーニング「二点間の距離 1 Python3編」
- 20. paizaラーニング「ある数以上以下の要素の列挙 3 Python3編」
PythonであるLambda関数から別のLambda関数を呼び出す
最近あるLambda関数から別のLambda関数を呼び出す処理をする際に少し調べたのでメモ。
# 環境
| ランタイム | Python 3.9 |
| — | — |# 今回の想定ケース
特定のLambdaから別のLambdaをまるごと呼び出す処理を想定。
今回は、以下の`testFunction01`から`testFunction02`を呼び出すような処理を実現していく。“`python:testFunction01
def lambda_handler(event, context):
print(‘[testFunction01] testFunction01’)
“`“`python:testFunction02
def lambda_handler(event, context):
print(‘[testFunction02] Called by testFunction01’)
return {‘message’: ‘called by testFunction01’}
“`# 実現方法
基本的には[inv
Pythonで画像のエッジ検出と直線検出をする
# 1.概要
みんな大好き大乱闘スマッシュブラザーズ(以下スマブラ)!!
私事ながら,スマブラ配信をしています.[チャンネル登録お願いします!](https://www.youtube.com/channel/UCKys_FIMcKfIn5L4HOyy0vQ)
スマブラ×機械学習でなんかできないかなー,と思っていたところこんな記事を発見しました.
[画像認識でスマブラの戦績を自動で作成するツールを作ろう](https://note.com/kelp168/n/nf717de3a2d22)
最終的に何を作るかは置いといて,面白そうだしとりあえずやってみよう!前回,[Pythonで指定した範囲のスクリーンショットを撮る](https://qiita.com/kenshin-627/items/56b4d945ac63ad8c541c)ことができました.
今回の目標は,前回撮った画像からエッジ検出と直線検出をすることです.
こんな画像から,
![before.png](https://qiita-image-store.s3.ap-nor
AtCoder ユニークビジョンプログラミングコンテスト2022冬 D問題解説(Python コード付)
# はじめに
本記事はPythonでAtcoderにチャレンジしているけど、Pythonはコード例がないため解説がわかりにくい!と感じている方を対象としています。
私自身大してレートも高くないので、不備等あるかもしれませんがご了承くださいm(_ _)m
## ユニークビジョンプログラミングコンテスト2022冬 D問題
問題のURLはこちらです。[ユニークビジョンプログラミングコンテスト2022冬 D問題](https://atcoder.jp/contests/abc283/tasks/abc283_d)## 使うデータ構造
**スタック**を使っていきます。
スタックとはなんぞや?って方は[こちら](https://qiita.com/drken/items/6a95b57d2e374a3d3292)の記事を見て見てください。非常にわかりやすく解説してくれています。
また、今回私はlistを使ってスタックを実装しましたが、collections.dequeを使用した方が計算速度は早いそうです。[こちら](https://qiita.com/saba/item
Tweepyで作った画像を呟くBOTをGCPで定期実行させる(素人)
# 目次
1. [はじめに](#はじめに)
2. [TwitterAPIkeyを入手してTweepyでツイート](#twitterapikeyを入手してtweepyでツイート)
2.1 [TwitterAPIkeyを入手](#twitterapikeyを入手)
2.2 [Tweepyでツイート](#tweepyでツイート)
3. [GCPで定期実行](#gcpで定期実行)
3.1 [Cloud Functionにデプロイ](#cloud-functionにデプロイ)
3.2 [Cloud Schedularでデプロイしたプログラムを定期実行](#cloud-schedularでデプロイしたプログラムを定期実行)
4. [Cloud Function上にて画像つきでツイート](#cloud-function上にて画像つきでツイート)
4.1[Firebaseに画像を保存 その画像を読み取るkeyを生成](#firebaseに画像を保存-その画像を読み取るkeyを生成)
4.2[入手したkeyを用いて画像を読み取り一緒にツイート](#入手したkeyを用いて画像を読み取り一緒にツイート)
paizaラーニング「二次元配列の行ごとの和 Python3編」
https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__row_sum
#### 私の解答
“`Python3
n, k = map(int, input().split())
a = [[int(i) for i in input().split()] for _ in range(n)]for i in range(n):
ans = sum(a[i])
print(ans)
“`
#### 解答例
“`Python3
n, k = map(int, input().split())
a = [[int(i) for i in input().split()] for _ in range(n)]for i in range(n):
s = 0
for j in range(k):
s += a[i][j]
print(s)
“`
paizaラーニング「二次元配列の最大の要素 Python3編」
https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__search_max
#### 私の解答
“`Python3
n, k = map(int, input().split())
a = [input().split() for _ in range(n)]
max = 0
for i in range(n):
for j in range(k):
if int(a[i][j]) > max:
max = int(a[i][j])
print(max)
“`
#### 解答例
“`Python3
n, k = map(int, input().split())
a = [[int(i) for i in input().split()] for _ in range(n)]ans = 0
for i in range(n):
for j in range(k):
if a[i][j] > ans:
roboflowを用いたデータセットのアノテーションのやり方
## 概要
自分で集めたデータセットを学習させてYOLOV5で物体検知をしたい!!
と思ったのですが、アノテーションどうやったらいいの!?
となり、その際にアプリをダウンロードせずにWEB上でアノテーションができるものを見つけたので共有します。## 目次
– roboflowについて
– roboflowを使ったアノテーション
– プロジェクトの作成
– データセットのアップロード
– アノテーション
– ダウンロード## roboflowについて
まずそもそもroboflowってなんぞ?って方にroboflowの説明をしたいと思います。
(roboflowの使い方を見にきてるんだって方は飛ばしてください、、)ー
roboflowは、学習用のデータアップロードからデータ整理、ラベリング、画像処理、学習、モデル配置、組み込み、アクティブラーニングまで一連で行えるAI活用を加速するためのコンピュータビジョンプラットフォームです。(roboflow公式から引用)[roboflow公式サイト](https://www.systems.nakas
paizaラーニング「二次元配列での要素の検索 Python3編」
https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__search
#### 私の解答
“`Python3
n, k = map(int, input().split())
a = [input().split() for _ in range(n)]for i in range(n):
for j in range(k):
if int(a[i][j]) == 1:
print(i+1, j+1)
“`
私は数値として扱っていますが、解答例は文字として扱っています。
#### 解答例
“`Python3
n, k = map(int, input().split())
a = [input().split() for _ in range(n)]for i in range(n):
for j in range(k):
if a[i][j] == “1”:
print(i + 1, j
【python】勉強メモ 速習Flask⑥
## はじめに
今回は、ログイン機能を実装します。以下の記事の続きとなります。
[【python】勉強メモ 速習Flask①](https://qiita.com/qiitataro/items/d9b4b44255ae5082838a)
[【python】勉強メモ 速習Flask②](https://qiita.com/qiitataro/items/682faa9749d596cb3496)
[【python】勉強メモ 速習Flask③](https://qiita.com/qiitataro/items/5f12300c4b238d2b6170)
[【python】勉強メモ 速習Flask④](https://qiita.com/qiitataro/items/ae5eca426fbf7d1bea83)
[【python】勉強メモ 速習Flask⑤](https://qiita.com/qiitataro/items/8d7027f97e20a6e07cbc)## 前回までの環境
#### ディレクトリ構造
“`
pydir/
┣myproject/ ->仮想環境
paizaラーニング「二次元配列の出力 Python3編」
https://paiza.jp/works/mondai/array_primer/array_primer__2dmatrix_input_step4
前にも同じ問題があったので、私の解答は省略しました。
解答例だけ異なったので、記録に残すことにしました。
#### 解答例
“`Python3
n, k = map(int, input().split())
a = [input().split() for _ in range(n)]for i in range(n):
for j in range(k):
if j == k – 1:
print(a[i][j])
else:
print(a[i][j], end=” “)
“`
paizaラーニング「指定された範囲・行数の数字の出力 Python3編」
https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__print_range
#### 私の解答
“`Python3
n, k = map(int,input().split())
for _ in range(k):
for i in range(1, n+1):
if i == n:
print(i)
else:
print(i, end=” “)
“`
前の問題の解答例に倣ったので、同じでした。
#### 解答例
“`Python3
n, k = map(int, input().split())
for _ in range(k):
for i in range(1, n + 1):
if i == n:
print(i)
else:
print(i, end=” “)
“`
paizaラーニング「指定された行数の数字の出力 Python3編」
https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__print_column
#### 私の解答
“`Python3
n = int(input())
for i in range(n):
print(“1 2 3 4 5″)
“`
二重ループメニューの問題集なので、私の解答は、手抜きでした^^;
#### 解答例
“`Python3
n = int(input())
for _ in range(n):
for i in range(1, 6):
if i == 5:
print(i)
else:
print(i, end=” “)
“`
paizaラーニング「指定された数字までの出力 Python3編」
https://paiza.jp/works/mondai/double_roop_problems/double_roop_problems__print_column_new
#### 私の解答
“`Python3
n = int(input())
for i in range(1,n):
print(i, end=” “)
print(n)
“`
#### 解答例
“`Python3
n = int(input())
for i in range(1, n + 1):
if i != n:
print(i, end=” “)
else:
print(i)
“`
[python] ISO8601 UTC文字列からJST datetime変換
# pythonでUTC文字列をJST datetimeへ切り替える方法
“`python:
from datetime import datetime, timezone, timedeltastr_utc = ‘2022-12-05T04:58:38Z’
dt_jst = datetime.strptime(str_utc, ‘%Y-%m-%dT%H:%M:%SZ’).replace(tzinfo=timezone(timedelta(hours=0))).astimezone(tz=timezone(timedelta(hours=+9)))
print(‘{}’.format(dt_jst.strftime(‘%Y-%m-%d %H:%M:%S %z’)))
“`
以下出力
“`
2022-12-05 13:58:38 +0900
“`1. strptimeだとtimezoneが付けられないので[replace](https://docs.python.org/ja/3/library/datetime.html#datetime.datetime.repla
アルゴリズム実技検定(PAST) 第11回 G問題 Python解答例(木の判定)
Supershipの名畑です。
今年も残り3日半ですね。[アルゴリズム実技検定(PAST)](https://past.atcoder.jp/)の過去問シリーズです。第11回G問題の私の解答例(Python3)を公開します。
:::note info
「そもそもアルゴリズム実技検定ってなんですか?」という方は[こちらの記事](https://qiita.com/nabata/items/0421f20e8ec849ee70ad)を合わせてご覧いただけますと幸いです。
:::## 第11回 G問題 木の判定
### 問題
[G – 木の判定](https://atcoder.jp/contests/past202206-open/tasks/past202206_g)
### 言語
– Python (3.8.2)
### 解答例
グラフにおける木の条件を
– すべての頂点が連結している
– 閉路を持たないとすると**辺数がN-1であること**が問題で保証されているため、前者が満たされれば後者も満たされる。
“`
N = int(input())# 各
ZeroNetを使う
# きっかけ
こういうの興味あったから# 環境
– Ubuntu22.04 LTS
– Python3.9.7# 注意
なんかこの記事を書いてたら公式の方のissueに[不穏な内容のissue](https://github.com/HelloZeroNet/ZeroNet/issues/2823)が上がってましたもしかしたらZeroNetXを使うほうがいいかも?
本記事の内容を試すのは**自己責任**でお願いします
# やってく
早速公式サイトからd……って言いたいところですが、**実はZeroNetの公式Githubの更新は一年以上されていません**さらに、**TorのOnion v3に対応していません**
~~終いにはissueで「開発者どこいったん?」と聞かれる始末~~
ちなみに実際に使ってみましたが、**結構遅いです**
Non Peerがずっと表示される
以上の理由から公式のやつは使いません
# 代替品
[zeronet-conservancy](https://github.com/zeronet-conservancy/zeronet-co
paizaラーニング『フィボナッチ数』
https://paiza.jp/works/mondai/array_primer/array_primer__fibo
解らなかったです。。。
#### 解答例
“`Python3
N = int(input())fibo = [0] * N
fibo[0] = 0
fibo[1] = 1for i in range(2, N):
fibo[i] = fibo[i – 2] + fibo[i – 1]for ele in fibo:
print(ele)
“`
paizaラーニング「二点間の距離 2 Python3編」
https://paiza.jp/works/mondai/array_primer/array_primer__array_distance_step2
#### 私の解答
“`Python3
N, A, B = map(int,input().split())X = [0] * N
Y = [0] * N
for i in range(N):
values = input().split()
X[i] = int(values[0])
Y[i] = int(values[1])print(abs(X[A-1] – X[B-1]) + abs(Y[A-1] – Y[B-1]))
“`
#### 解答例
“`Python3
values = input().split()
N = int(values[0])
A = int(values[1])
B = int(values[2])X = [0] * N
Y = [0] * N
for i in range(N):
values = input().split()
X[i]
paizaラーニング「二点間の距離 1 Python3編」
https://paiza.jp/works/mondai/array_primer/array_primer__array_distance_step1
#### 私の解答
“`Python3
n = int(input())
for i in range(n):
values = input().split()
ans = abs(int(values[0]) – 2) + abs(int(values[1]) – 3)
print(ans)
“`
#### 解答例
“`Python3
N = int(input())X = [0] * N
Y = [0] * N
for i in range(N):
values = input().split()
X[i] = int(values[0])
Y[i] = int(values[1])for i in range(N):
print(abs(X[i] – 2) + abs(Y[i] – 3))
“`
paizaラーニング「ある数以上以下の要素の列挙 3 Python3編」
https://paiza.jp/works/mondai/array_primer/array_primer__array_ave_step3
#### 私の解答
“`Python3
n = int(input())
a = list(map(int, input().split()))
total = sum(a)
k = total/n
for ele in a:
if ele >= k:
print(ele)
“`
#### 解答例1
“`Python3
N = int(input())avg = 0
A = [0] * N
values = input().split()
for i in range(N):
A[i] = int(values[i])
avg += A[i]avg /= N
for a in A:
if a >= avg:
print(a)
“`
#### 解答例2
“`Python3
N = int(input())
A = [int(x) for x in input().