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

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

乃木坂46でクラスのカプセル化を勉強する

乃木坂46でクラスのカプセル化を勉強します。
まずソースコードを例示します。

“`python
class Nogizaka46:

# コンストラクタ
def __init__(self,name,div=”3期生です”):
self.name = name
# アクセス制限を指定
self.__div = div

# getter Div
# メンバーの期別をgetter(getDiv関数)で返す。
@property
def getDiv(self):
return self.__div
# getter name

# メンバーの名前をgetter(getName関数)で返す。
@property
def getName(self):
return self.name

#期別判定のsetter関数(setDiv関数)で設定し、期別で判定する
@getDiv.setter
def setDiv(self,div1):
if div1 >= 3 and div

元記事を表示

ChatGPT API を使って Youtube live 配信コメントで反応するキャラクターBotを作ったらYoutube Data API v3が曲者だった件

# 作ることになった経緯
知り合いのコンサルから、Youtube liveで流行りのAIが動画で反応する配信はあるけど、Youtube live で使えるコメントBotないよね?って聞かれたのが始まり。
調べてみると確かにないなと言うことで作りました。

# そもそも規約的には大丈夫なの?
### 問い合わせました
>YouTube ではポリシーに違反している可能性のあるコメントや不適切なコメントをコメント プレビューから削除するためにレビューする場合がございます。
>また、もしお客様の作成したキャラクターボットが当社のポリシーのいずれかに違反するコメントをした場合は、 第三者のユーザーから 「ポリシーと施行」 ページにアクセスして報告される場合がございます。この場合は、ボットを使用しているかどうかに関わらず、お客様がチャンネルに対する責任を負うことになると思われます。
>キャラクターボットをご利用いただくこと自体に、YouTubeでは制限はないと認識しておりますので、ご安心ください。

自己責任の範囲でOKっぽい。
何かあってもチャンネルで責任とってねって感じだった。

# 使い方

元記事を表示

それ,numpy で書かない?–7– いや,もうリストやめよぅ

「エラトステネスの篩」の記事は,ここでも,もう数十回あるんじゃないだろうか。車輪の再発明もいいとこだ。
そして,リストを使わないほうが良いよというのも,何回か書いた。

それ,numpy で書かない?–3–
https://qiita.com/WolfMoon/items/0483ac130684a10cf25e

また,出たが,繰り返し述べる。

**リスト,および,リスト内包表記を使うのは,もう,やめよう。**

**numpy は,遥かに速く,書きやすい。**

“`python
import time

def sieve_of_eratosthenes(n):
primes = [True] * (n + 1) #リストの生成、全てTrue
primes[0] = primes[1] = False #0と1は素数ではないので除外 FALSE
for i in range(2, int(n**0.5) + 1):#2以上、2から初めてnの平方根まで計算する
if primes[i]:
for j in ra

元記事を表示

Pythonの遅延セグメントツリーのチートシート【AtCoder】

# はじめに
2023年8月にあった大幅なAtCoderの言語アップデートで、PythonにもACLとよばれる競プロライブラリが追加されました。

https://github.com/not522/ac-library-python/

この記事では、その中の遅延セグメントツリーについてチートシートをまとめます。
組み合わせはすべてで $6$ 通りつくります。

– 区間演算クエリ
1. 加算: $A_i \leftarrow A_i + v \enspace (i=l,l+1,\cdots , r-1)$
1. 更新: $A_i \leftarrow v \enspace (i=l,l+1,\cdots , r-1)$

– 区間取得クエリ
1. 最小値: $\min$
1. 最大値: $\max$
1. 総和: $\text{sum}$

# コンテスト中の人へ
次から自力で通せるように、あとでこの記事よんでね。

https://qiita.com/hyouchun/items/1748bd320d2188a999f2

# 目次

元記事を表示

Djangoでlorem ipsum? #ぼくの大発見日記

# はじめに

ナイトウ([@engineer_naito](https://twitter.com/engineer_naito))と申します。

とあるDjangoの記事を書いています。
その記事を書くためにいろいろ調べものをしていたときに `{% lorem %}` テンプレートタグを見つけました。
この機能についてこの記事では深掘りしていきます。

# lorem ipsum とは

https://en.wikipedia.org/wiki/Lorem_ipsum

> In publishing and graphic design, Lorem ipsum (/ˌlɔː.rəm ˈɪp.səm/) is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content.

文章などの表示の確認のために用いられるプレースホルダー(ダミーテキスト)のことです。
_lorem ipsum

元記事を表示

PythonのSliceの使い方

仕事でよくPythonを使うので、最近改めてPythonを勉強し直しています。
PythonのSliceが便利だったので備忘録としてまとめます。

また、この記事ではリストについて書いていますが、タプルでも同様に扱えます。

# 使い方① リストから任意の範囲の要素をすべて取得

以下のように書くことで、Sliceを使うことでリストから任意の範囲の要素を取得することができます。

“`py
list1 = [“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”]

list2 = list1[2:7]
print(list2) # c d e f gが表示される
“`

# 使い方② リストから任意の範囲の要素を任意の間隔で取得
以下のように書くことで、リストの任意の範囲の要素を任意の間隔で取得することもできます

“`py
list1 = [“a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”]

list2 = list1[2:7:2]
print(list2) # c e g が表示される
“`

# 使い方③ リストから先

元記事を表示

【Python】CSVのデータや列名を、指定の値や言葉に一瞬で一括置換する方法

# 概要
CSVファイルの特定の列のデータを置換&列名を変更して書き出すという処理が必要になったので、Pythonで実装しました。

少しならエクセルとかでパパッと置換作業してしまえば良いですが、たくさんあったり何回も実施する必要があるときは面倒ですよね。ということで以下のPythonコードで、指定のディレクトリにある指定のCSVファイルのデータを置換することができたので紹介します。

### BEFORE
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710373/06a6943d-edf5-5632-a571-70f22d9c6c33.png)

### AFTER
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710373/c3bb036e-20e3-8d60-263c-c41be8b7e033.png)

# サンプルコード

“`py
import pandas as p

元記事を表示

みかん仕分け

https://paiza.jp/works/mondai/c_rank_skillcheck_archive/mikan

うーん、これで、一部はうまくいったんですが
2つのテストケースでだめでした。

“`py
N,M = map(int,input().split())
for _ in range(M):
w = int(input())
if 0 < w < N: print(N) continue if w % N >= round(N/2,0):
print((w//N+1) * N)
else:
print((w//N) * N)
“`

“`py
#1つ目入力
13 4
244
686
344
685

#出力(間違い)
247
689
351
689

#2つ目入力
1 2
665
429

#出力(間違い)
666
430
“`

2つ目の入力は1の倍数なんですよね。。。。
四捨五入したらどうなるのか?
のは
1時間経ってしまったので強制ギブで。
ansが最初

元記事を表示

SeleniumでChrome driverを立ち上げた際にすぐにクラッシュしてしまった時の対処法

# はじめに
こんばんは、ダンです。
以前乃木坂46のライブを自動で応募するシステムを作ったのですが、
記事URL:https://qiita.com/dandan5656/items/d1fe82d2d7594ebb5fa1
その際にSeleniumでChrome driverを立ち上げた際にすぐにクラッシュしてしまい、3-4時間ほど躓いてしまったので、対処法を共有したいと思います。

# 状況
スクレイピングに必要なSeleniumとブラウザを立ち上げるためにChrome driverをインストールし、
“`python
pip3 install selenium
brew install chromedriver
“`
ブラウザを立ち上げました。
“`python
from selenium import webdriver
browser = webdriver.Chrome()
“`
その際にターミナルにエラー分は表示されないのですが、Chromeがすぐに閉じてしまったり、クラッシュしたりしてしまいました。

# 解決法
Chrome Driverを通すためのパスが正

元記事を表示

Cloud9でLambda(Python)を作り始めるメモ

AWS Cloud9でLambda開発の環境構築に多少作業が必要だったのでまとめておきます。
既にあちこちでまとめられているけど自分用に。AWS初心者です。

## 前提
– OS:Amazon Linux 2023
– インスタンスタイプ:t2.micro(無料枠)
– 接続:AWS Systems Manager(SSM)

## 導入作業
### pyenvの追加とPythonバージョン変更
まずはPythonバージョンを確認。
“`bash
$ python –version
Python 3.9.16
“`
サポート期限まで約1年半(2024/2時点)か~~~となったのでバージョン変更できるようにしておきます。まずはpyenvの導入から。
個人的な好みとしては.bash_profileではなく.bashrcに書き込めばよかった…と反省。
“`bash
$ sudo yum -y update
$ sudo yum -y install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sql

元記事を表示

Python初心者の備忘録 #10 ~DSに使われるライブラリ編05~

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #09 ~DSに使われるライブラリ編04~](https://qiita.com/Yushin-Tati/items/e5beea548d3c8a4851f3)
次の記事:まだ

今回は**OpenCV、glob、 os、 pathlib、

元記事を表示

Python の defaultdict は参照するだけで副作用が発生するので注意

Python の defaultdict では初期化の処理を一部省略できます。例えば int を指定すれば、デフォルト値を 0 として計算を行ってくれます。

“`python
from collections import defaultdict

data = [
[‘chino’, 4],
[‘maya’, 8],
[‘megu’, 2],
[‘chino’, 1200],
[‘maya’, 800],
[‘megu’, 1100],
]

d = defaultdict(int)

for k, v in data:
d[k] += v

print(d[‘chino’]) # => 1204
“`

# `__getitem__` の副作用

ただ、defaultdict には `__getitem__` を呼び出すだけでキーが追加されるという副作用があるため注意してください。例えば、以下の例ではキーが 3個から 7個に増加してしまっています。

“`python
print(len(d)) # => 3

probe = [‘cocoa’,

元記事を表示

スクレイピングツールの開発

スクレイピングツールを実装しました。

以下の条件です。

>① 取得する企業は「オバケイドロ」でおなじみの株式会社フリースタイルさん
② 取得する情報は「お知らせ」
③ 最新ニュース12件を取得し、エクセルファイルに書き出す

以上の処理に使うスクレイピングツールです。

“`python
####### Freestyle 企業HPから人事情報を取得する ###########
####### 新規作成 2024/2/11 ##########
####### Author 乃木坂好きのITエンジニア ###########

# 時間を計るライブラリをインポート
import datetime
import re
import os
# WebDriverライブラリをインポート
from selenium import webdriver
from selenium.webdriver.common.by import By
# Excelファイルへ書き込むライブラリをインポート
import openpyxl as op
import codecs
f

元記事を表示

SymPy で算額の問題を解く

# **[算額とは?](https://ja.wikipedia.org/wiki/%E7%AE%97%E9%A1%8D)**

いろいろな算額を SymPy で解いています。

SymPy は Pyhon で使うのが一般的とは思いますが,Julia の Python で書いています。

Julia なので,Python の SymPy とはちょっと書き方にくせがありますが,かえって書きやすい面もあります。

ご意見,ご感想いただければうれしいです。

https://blog.goo.ne.jp/r-de-r/e/1b3e7a7043254fc1b5c573ba784967f8

よろしければ,「いいね!」してください。

神壁算法 關龍藤田貞資門人 龜井隠岐守家士 堀田人助泉尹 天明八年
藤田貞資(1789):神壁算法巻上
http://www.wasan.jp/jinpeki/jinpekisanpo1.pdf

直径 97 寸 5 分の大円の中に累円と,大円と甲円と累円に挟まれる円がある。
末円の直径が 1 分のとき,初円から末円まで何個の挟円があるか(つまり,末円は初円から数

元記事を表示

Pythonのコード書き方まとめ

仕事でpythonを書くことになったので、調べて分かった内容を下記に記載する。
ほぼ事前知識が無い状態から始めたので、おかしな記載がいくつかあるかもしれない。

他に分かったことがあれば追記していこうと思う。

## とりあえず
– インデントを揃えないとコンパイルエラーになる
– pythonは動的型付け言語のため、型を指定しなくても値の取得などが可能。

## 型の指定方法

`変数名: 型`
型ヒントとpythonでは呼ばれる。

## uuid
import uuidでインポートする。

https://docs.python.org/ja/3/library/uuid.html

https://dev.classmethod.jp/articles/how-generate-uuid-python-uuid4/

使える関数が複数あり、`uuid4()`がランダムに一意IDを作るものになる。

## import の仕方
基本は import パッケージ名 で取り込む。

“`py
# uuidパッケージをインポートする
import uuid

# uuidパッケージの

元記事を表示

Python エポック 標準秒を算出する。

秒のエポック標準時を算出する。
“`python
#!c:/Python3/python -X utf8
# coding=utf-8

#######################################################################################
# DATA 2024/02/11 エポック標準時刻を表示する
# this script http://127.0.0.1/my_python/python_time1.cgi
#
########################################################################################

# test on *.py
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
#

import datetime

print (‘Content-type:text/html’+’\n’+’\n’)
print (‘<

元記事を表示

ギター指板の音名を覚えたい!!ハッカーが練習アプリを作った結果….

# ギター指板の音名、覚えていますか…?

こんにちは、jikao1919です。
突然ですが、皆さんはギターの指板上の音名を覚えていますか????

私は覚えていません()。
練習していて自然に覚えられる程練習するのが理想なのでしょうが、毎日マックばかり食べているためか、近年記憶力の逓減が著しく、全く覚えられません。

# もっと効率的に練習したい…。

やはり、もっと効率的に練習したいものです。
そこで、練習用のアプリケーションを自作することにしました。

アプリの挙動は

1. 弦の番号(1弦か、2弦か、…6弦か)と音名(CからBまで12音)をランダムに指定される。(例:1弦でCの音を出すフレットは?)
1. 考慮時間のWait処理
1. 考慮時間の間に考えて答えを出し、実際にピッキングして音を出す。(例:8フレットだな)
1. 答えとなる周波数の音を発生させ、自分の出した音があっているか答え合わせする

となります。正解、不正解は自分の耳で判断してください()。

# 実際に作ってみる

Pythonを使って実装します。GUIウィンドウ生成に`Tkinter`、正解と

元記事を表示

Tetrisの移植 for python with supertext module.

自作モジュールsupertextを使って、Tetrisをpythonで作りました。

https://qiita.com/fygar256/items/11b92b7285359f600b36

キー操作:’4’で左、’6’で右に移動。’2’でテトリスを落とします。’space’でテトリスの回転です。’q’でゲームから抜けます。
chmod +x tetris.pyとして実行権を付けて、./tetris.pyとして実行してください。

まだ改良すべき点があるので、version0.8としておきます。

“`tetris.py
#!/usr/bin/python3
import supertext as st
import random
import time

sx=15
sy=0
mx=10
number_of_tetris=0
nextt=-1
tetriscolor=[(255,0,0),(0,255,0),(255,0,255),(0,255,255),(255,255,0),(0,0,255),(255,255,255)]

tetris=[ [[‘#’,

元記事を表示

E資格の例題を作ってみた!問題傾向を知りたい人向け

E資格の過去問は一般的には公開されておらず、誰かに過去問を見せることも禁止されています。JDLA公式で少し過去問が公開されていますが、それしか問題傾向を掴む方法がないのです。
そこで今回はE資格の例題を解かせてくれるJDLA認定プログラムと、実際に簡単な例題を作ってみたので公開させてください。

## E資格の例題を作っているJDLA認定プログラム

![E資格の例題を作っているJDLA認定プログラム](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3686535/2c61cd7c-9f61-783c-e6c7-f3cdec9da14c.jpeg)

E資格で必須となるJDLA認定プログラムの中にはオリジナルの例題を作って解かせてくれる講座もあります。
しかし私が見つけられたのは「[E資格ディープラーニング短期集中講座](https://ai-kenkyujo.com/ai-e-shikaku/)」だけだったので、もし例題を解いてみたいと思っている人はこちらのJDLA認定プログラムを受けてみてください。
動画で学

元記事を表示

E資格の勉強方法6選!試験前の勉強対策やおすすめの覚え方

E資格は難易度が高いと言われたり、落ちてしまったという声も多いです。
そこで今回はE資格のベストな勉強方法をいくつか解説していきたいと思います。

まずE資格とは

E資格(AI技術者検定)は、AI(人工知能)技術に関する深い理解と実践的な技能を証明するための資格であり、日本ディープラーニング協会(JDLA)によって運営されています。この資格は、AI技術の基礎から応用まで幅広い知識が求められるため、合格するためには自分に合う効果的な勉強法が必要です。

ただE資格を勉強するだけでは良くない

独学で適当にE資格の勉強をしてみたり、動画や適当に決めたJDLA認定プログラムで学んだ気になってしまうのはとても危険です。
自分が何が不得意でE資格の中でなんの知識が分かっていないのかを把握したり、きちんとE資格の範囲全てを理解していないと到底合格できないでしょう。
闇雲に勉強するだけでは安定的な合格は得られないので、きちんと自分に合う勉強方法を見極めましょう。

E資格の効果的な勉強方法6選

![E資格の効果的な勉強方法6選](htt

元記事を表示

OTHERカテゴリの最新記事