- 1. 全ての要素を用いた処理 (paizaランク D 相当)
- 2. 九九表 Python3編
- 3. 指定要素の挿入・削除 Python3編
- 4. 様々な条件下におけるPython開発環境の検討と構築
- 5. Python でおみくじ作ってみた。参考資料
- 6. 炭酸イオンを含むかどうかの判定アルゴリズムを複数のPOSCARファイルに適用(ログ)
- 7. 変数の入れ替え (paizaランク D 相当)
- 8. 配列の順序の反転 Python3編
- 9. Python初心者が「2人でじゃんけんする」を書いた④
- 10. はじめてのデータ分析 データ前処理から回帰直線
- 11. 重たいログファイルを部分的に読み込むツールを作ってみた
- 12. Python3 + PyAV 動画ファイルから映像と音声を読み込み、画像だけ処理を行い、音声はそのまま出力ファイルに書き出す
- 13. 【Python】jsonモジュールでエンコード・デコードするときの注意点2つ
- 14. Python + Matplotlibを使用して単位円を描画する
- 15. pythonでCPU100%
- 16. AtCoder Heuristic Contest(AHC)はどんな問題なのだろうと思って初めて解いてみた記録[Python]
- 17. 趣味で書いていっているPythonフロントエンドライブラリの1年の活動をまとめて振り返ってみる(2023年版)
- 18. Pythonの仮想環境どれ使うべきか[初心者]
- 19. Python Online Compiler for Beginners with Interactive Lessons
- 20. EIPの料金改定に向けてお知らせbotを作る
全ての要素を用いた処理 (paizaランク D 相当)
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__reduce
九九の問題からどうやって解くか難しかった
たとえば入力がこれだとすると
“`
入力例2
5
1
2
3
4
5
“`
Nは5なので(ちなみに必ず2以上)、すべてのペアをだす場合A = 2 B = 1
A = 3 B = 1~2
A = 4 B = 1~3と、要素数−1分ループさせることになるので
こうなる。
ちょっとループで混乱した。。。“`py
N = int(input())
A = [int(input()) for _ in range(N)]
for i in range(N):
for j in range(i):
print(A[i]*A[j])“`
九九表 Python3編
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__reduse_easy
これ自体は前回もやったけども
https://qiita.com/Atsulabo/items/4051922d6961bb954ad3
今回は配列を使うってことで
違う方法で。
もっとも答えは配列を使っていない前回と同じ方法だったが。。。“`py
A = [i for i in range(1,10)]
B = [i for i in range(1,10)]
for i in A:
for j in B:
if j >= 9:
print(A[i-1] * B[j-1])
else:
print(A[i-1] * B[j-1],end=” “)“`
指定要素の挿入・削除 Python3編
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__insert
前にもやった内容の問題なのだが、
insertとpopとでちょっと違いがあるので注意
追加する要素番号と、削除する要素番号とでちょっと違いがある“`py
N = int(input())
A = [int(input()) for _ in range(N)]
n,B = map(int,input().split())
A.insert(n,B)
print(*A,sep=’\n’)“`
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__delete
“`py
N = int(input())
A = [int(input()) for _ in range(N)]
n = int(input())
A.pop(n-1)
print(*A,sep=’\n’)“`
様々な条件下におけるPython開発環境の検討と構築
# はじめに
先日、組織は同じなのですが、異なるプロジェクトが同時並行で開発を進めていくというシチュエーションがありました。それぞれのプロジェクトで開発するものは違うのですが、以下のキーワードは共通であったため、同じ組織においては開発環境をなるべく統一したいという方針で共通開発環境の検討と構築を行いました。
– 言語: Python
– パッケージ管理: poetry
– IDE: Visual Studio Code(以降、VSC)
– プラットフォーム: AWS
– 開発するサービス: Lambda(コンテナイメージ使用)
– リポジトリ・CI/CD: GitHub・GitHub Actions検討していく中で、プロジェクトに参加する開発者のバックボーンも十分に考慮して取り決めしていったので、検討の過程と実際に構築した環境を頭の整理も兼ねてまとめてみます。
# 前提・背景
検討する上で、手元の環境や開発者のスキルセット等考慮すべき事項は下記の通りです。
– 一部開発者の端末は、VDIで接続した先にあるWindowsOSであり、WSL2を使ってLinuxをインストールす
Python でおみくじ作ってみた。参考資料
ごくありふれたおみくじを加工してみました。
よろしかったら、参考にどうぞ。
イメージファイル(参考)![ase.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/822d5e33-d889-5f87-2847-7407a4cda2cb.jpeg)
![chuukichi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/95fe6d77-e622-af27-ee26-4a0548d7a422.png)
![daikichi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/a445074e-edd1-64a4-112e-4f03c38c0adc.png)
![kyou.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362
炭酸イオンを含むかどうかの判定アルゴリズムを複数のPOSCARファイルに適用(ログ)
## 目標
炭酸イオンかどうかの判定アルゴリズム[1]を,複数のPOSCARファイルに適用するスクリプトを作成する.[1] 炭酸イオンかどうかの判定アルゴリズムの作成(ログ) #Python3 – Qiita
https://qiita.com/k-morii-toridai/items/972a713e62c1739932ba## スクリプトの実行
“`terminal
pwd
/mnt/ssd_elecom_c2c_960gb/scripts/get_some_ion_contained_pos_folder_p_listls -CF
CO3_contained_poscar_folder_path_list.npy* get_CO3_contained_pos_folder_p_list.py*
get_CO3_contained_pos_folder_p_list.ipynb* package_bond_search_algorithm/
“`“`terminal
time python3 get_CO3_contained_p
変数の入れ替え (paizaランク D 相当)
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__excange
以前、コメントで教えてもらった方法でやってみる。
“`py
X,Y=map(int,input().split())
X,Y = Y,X
print(X,Y)
“`一発OKでした
これすっごく便利ですね。次に行ってみる
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__swap
これもさっきので解けます
“`py
N = int(input())
A = [int(input()) for _ in range(N)]
X,Y = map(int, input().split())
A[X-1],A[Y-1] = A[Y-1],A[X-1]
print(*A,sep=”\n”)
“`
配列の順序の反転 Python3編
https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__reverse
私の答えは
“`py
N = int(input())
A = [int(input()) for _ in range(N)]
print(*reversed(A),sep=”\n”)
“`まあ、これは前にもやったことなので難しくはない。
仮に、reversed関数がなかったとすると、どうするか。
まずはA配列を作るところまでは同じで
逆順のB配列を作るにはどうするか。
とりあえず前勉強した通り空の配列を作る“`py
B = [None] * N #0でも同じ結果が出る
“`たとえば、5つの要素があるとして
B[0]=A[4]
B[1]=A[3]
B[2]=A[2]
.
.
.
という順番になる。
これをルール化すればいいわけで、
i = 0なら、NからN(=ここでは5)-0(=i)-1
とすればいいのではと考えて、“`py
N = int(input())
A = [int(i
Python初心者が「2人でじゃんけんする」を書いた④
Python初心者が「2人でじゃんけんする」を書いた①
https://qiita.com/hiroshi_abu/items/254b04315ea68cbfa92f
からの変更点
・プレイヤーの入力が範囲外なら、再入力を促す。
・あいこなら、勝敗判定可になるまで、じゃんけんする。
・プレイヤーの手、PCの手の取得を関数にした。“`python
import randomte = {0: ‘グー’, 1: ‘チョキ’, 2: ‘パー’}
te_KYE = tuple(te.keys())print(‘*****じゃんけんぽん*****\n’)
while True:
def Y_te(): #プレイヤー
”’プレイヤーの手を入力する。範囲外はループする”’
while True:
try:
x = te_KYE[int(input(‘あなたの手は?\n 0:グー 1:チョキ 2:パー –>> ‘))]
はじめてのデータ分析 データ前処理から回帰直線
この記事はNTTテクノクロス Advent Calendar 2023 シリーズ1の19日目です。
NTTテクノクロスの大澤と申します。
普段はPythonを用いてデータ分析業務を担当しており、今回はデータ分析初学者向けに、Pythonを使ってデータ前処理から回帰直線で数値を予測するところまでを記事にしました。## はじめに
データ分析でよく使われるファイル形式としてノートブック形式というファイル形式があります。
普段開発をされている方で、特にVSCodeを使用されている方は下記を参考にjupyter notebookの環境を構築してください。[VSCodeでJupyter Notebookを使ってみた【ゼロからPython勉強してみる】
](https://qiita.com/starfieldKt/items/ed7dee5142d9d5c177fd)特に使用しているエディタもなく、コーディング経験があまりない方についてはGoggleが提供している「Colaboratory」というサービスがあります。
Googleのアカウントさえあれば、環境構築は不要ですぐ使用できる
重たいログファイルを部分的に読み込むツールを作ってみた
# はじめに
タイトルの通り重たいログファイルを読み込むためのツールを作ってみたのでその紹介です。### 経緯
* ログローテーションを甘く見たままの開発着手により、とても重たいログファイルを量産
* ログファイルをVScodeの別タブで開いたままソース修正、テスト起動を繰り返し、フリーズもしばしば
* 筆者がcliでのログ解析に苦手意識があり、できればGUIベースで解析したいそんな悩みを解消したいと思い、ログファイル内の1部分だけ読み込んで表示させるツールを作成しました。
# 実際の画面
今回はtkinterを使って作成しました画面はこんな感じになりました。
![2023-12-09_23h33_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1700794/5ccf2030-8152-1f5e-5edc-ad56f9aba141.png)# 使い方
1.「対象ファイルの選択」ボタンで読み込みたいファイルを選択
2.「表示させる行数(数字を入力):」のテキストボックスに表示させ
Python3 + PyAV 動画ファイルから映像と音声を読み込み、画像だけ処理を行い、音声はそのまま出力ファイルに書き出す
公式ドキュメントなどを読んでも同じようなサンプルコードがなかったのでトライアンドエラーを行い、実現できましたので共有致します。ご参考になれば幸いです。
○実現したかった仕様
動画ファイルを読み込んで、画像だけ処理を行い、音声はそのまま出力する。OpenCVでは動画から画像は抽出できるが、音声はできなかった。(公式ドキュメントにはできそうな記載があるが、うまく実現できなかった。)
PyAVでは実現できました。実現できたファイル形式: MPEG4
Python: 3.11.2
PyAV: 0.9.4-7
LinuxMint Debian Edition: 6 “Faye”“`Python:movie-V+A.py
import av
import mymovie1 as mm
import threadingdef process(image):
global img
import cv2
#Do some thing here
returnin_file =
out_file
【Python】jsonモジュールでエンコード・デコードするときの注意点2つ
# 概要
Pythonの`json.dumps()`と`json.loads()`について、注意点を2点整理してみました。
以下のコードをサンプルとして進めます。“`py
import json#1
data = {}
data[‘sample_id’] = ‘test’
sample_id = json.dumps(data[‘sample_id’])
print(data)
print(sample_id)#2
data = {}
data[‘sample_id’] = ‘test’
sample_id = data[‘sample_id’]
print(data)
print(sample_id)
“`こちらを実行すると結果は以下の通り。
“`
{‘sample_id’: ‘test’}
“test”
{‘sample_id’: ‘test’}
test
“`あれ、`#1`では`”test”`というようにダブルクオーテーションで囲まれているのに対して、`#2`では`test`というようにダブルクオーテーションがありません。
テストコードを書いている
Python + Matplotlibを使用して単位円を描画する
## 開発環境
– Python 3.12.1
– Visual Studio Code (Version: 1.85.1)
– matplotlib 3.8.2
– numpy 1.26.2## コード
“`python
import matplotlib.pyplot as plt
import numpy as npCIRCLE_LINE_COLOR = ‘#0000FF’ # 円周の線の色
X_AXIS_LINE_COLOR = ‘#000000’ # X軸の線の色
Y_AXIS_LINE_COLOR = ‘#000000’ # Y軸の線の色
GRID_COLOR = ‘#AAAAAA’ # グリッドの色CIRCLE_LINE_WIDTH = 2 # 円周の線の太さ
X_AXIS_LINE_WIDTH = 0.8 # X軸の線の太さ
Y_AXIS_LINE_WIDTH = 0.8 # Y軸の線の太さ
GRID_LINE_WIDTH = 0.5 # グリッドの線の太さFIGURE_SIZE = (6,
pythonでCPU100%
### シングルプロセス
“`
import multiprocessing
import threading
import sysdef max_cpu_task():
“”” CPUを最大限に活用するための単純な無限ループ “””
while True:
passdef single_process():
“”” シングルプロセスでCPUを最大限に活用 “””
max_cpu_task()def multi_process():
“”” マルチプロセスでCPUを最大限に活用 “””
processes = []
for _ in range(multiprocessing.cpu_count()):
p = multiprocessing.Process(target=max_cpu_task)
p.start()
processes.append(p)for p in processes:
p.join()def m
AtCoder Heuristic Contest(AHC)はどんな問題なのだろうと思って初めて解いてみた記録[Python]
[Supership](https://supership.jp/)の名畑です。「[映画「鬼太郎誕生 ゲゲゲの謎」興収が11.5億円を突破!大ヒット御礼で本編冒頭映像が公開](https://animeanime.jp/article/2023/12/12/81781.html)」とのこと。めちゃくちゃ人気のようで本当に嬉しいです。
## はじめに
これまで私の記事で何度も取り上げてきた競技プログラミングのサイト[AtCoder](https://atcoder.jp/)には大きく分けて2種類のコンテストがあります。そのうちの一つがABC、ARC、AGCなどのアルゴリズムコンテストであり、もう一つが**AtCoder Heuristic Contest**(**AHC**)です。
> ABC/ARC/AGCなどのアルゴリズムコンテストと異なり、最適解を出すのが難しい問題に対し、出来るだけ良い解を作成するコンテストとなります。
>
> [AtCoder Heuristic Contest 001](https://atcoder.jp/contests/ahc001)より今ま
趣味で書いていっているPythonフロントエンドライブラリの1年の活動をまとめて振り返ってみる(2023年版)
のんびりとした進捗ですが今年も趣味で書いていっている自作のライブラリで対応したことなどの1年の振り返りをしておきます(GitHubのissueで今年1年でClosedになったもをissue番号を絡めて振り返っていこうと思います)。
※去年の振り返り記事 :
https://qiita.com/simonritchie/items/8d135e9350c68174870b
# ライブラリの概要と記事の事前情報
– [apysc](https://github.com/simon-ritchie/apysc)というPythonの簡易のフロントエンド用のライブラリです(ライトで機能の少ないAltJS風味なライブラリと考えていただければと)。
– Pythonで書いてHTMLとjsで出力したり、Jupyter (notebook / Lab)やColaboratory上で表示したり・・・といった制御を行うことができます(VS Code上のJupyterは現在未サポート)。
– 今まではSVG要素がメインでしたが段々とその他の要素も追加していっています。
– 型をしっかりと定義していって
Pythonの仮想環境どれ使うべきか[初心者]
### 1. はじめに
Pythonの仮想環境管理するために複数の選択ありますよね。conda, Virtualenv, venv, pipenv, poetry…
なぜ使うかと言うと、– 依存関係の衝突回避:異なるプロジェクト間でのライブラリの衝突を防ぐ
– クリーンな開発環境の確保:必要なパッケージのみをインストールし、環境を整理する
– プロジェクトの再現性向上:他の開発者が同じ環境を簡単にセットアップできる
– デプロイメントの簡素化:開発環境と本番環境の違いを最小限に抑える
– 開発者がプロジェクトの依存関係をより簡単に管理し、コードの品質とプロジェクトの安定性を向上させる![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/d93cafc8-e94a-9cc2-9405-2cd3ca551a7e.png)
:::note
よくわからない方へ:小難しいことを書きましたが、ローカル環境にいろんなアプリ・プロジェクト作るとライブラリのバージョンとか、よくわからない
Python Online Compiler for Beginners with Interactive Lessons
Introduction
Welcome to the world of Python coding! In this article, we’ll explore the exciting realm of Python Online Compiler for Beginners with Interactive Lessons. Whether you’re a novice or someone looking to refine your Python skills, this comprehensive guide is your one-stop destination.
![Python Online Compiler for Beginners with Interactive Lessons.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3655293/734f082a-7e3d-7aea-8c94-118190a0bf70.png)
Understanding Python
EIPの料金改定に向けてお知らせbotを作る
# はじめに
本記事は[アイレット株式会社 新卒 Advent Calendar 2023](https://qiita.com/advent-calendar/2023/iret) の17日目の記事です!2024年2月1日より、AWSにおけるパブリックIPv4アドレスの料金が改定されることをご存じでしょうか。
https://aws.amazon.com/jp/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/
上記ブログ内の表によると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269896/8b524c2c-7b73-6500-c598-e2d80c0339fe.png)今まではリソースに対してパブリックIPv4アドレスが割り当てられていれば料金はかかりませんでしたが、2月1日以降は未割当アドレスと同じ料金がかかるように改定されます。
つまり1つのIPアドレスを利用しているだけで
0.00