Python3関連のことを調べてみた

Python3関連のことを調べてみた

全ての要素を用いた処理 (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_list

ls -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 random

te = {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 threading

def process(image):
global img
import cv2
#Do some thing here
return

in_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 np

CIRCLE_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 sys

def max_cpu_task():
“”” CPUを最大限に活用するための単純な無限ループ “””
while True:
pass

def 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

元記事を表示

OTHERカテゴリの最新記事