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

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

Pythonワンライナーで「ドドスコスコスコ」してみた

## はじめに

>【問題】配列{“ドド”,”スコ”}からランダムに要素を標準出力し続け、『その並びが「ドドスコスコスコ」を3回繰り返したもの』に一致したときに「ラブ注入♡」と標準出力して終了するプログラムを作成せよ(配点:5点)

こちらのツイートが社内で話題になっていました。

そこで、試しにPythonワンライナーで書いてみました。
そんな遊びの記事です。

## コード

“`python
__import__(‘sys’).setrecursionlimit(10**6);print((lambda f: f(”,”,0,f))(lambda s,l,i,f: s+’ラブ注入♡’ if i==3 else f(s,”,i+1,f) if l==’dsss’ else f(s,”,0,f) if len(l)>=4 else f(s+’ドド’, l+’d’,i,f) if __import__(‘random’).getrandbits(1) else

元記事を表示

そのうち書く cloud run(v1) のREST APIにrequestを送ってserviceを新規登録する

そのうち書く

同じような内容の記事があったらどなたか教えてください。

元記事を表示

[備忘録] リスト, イテラブル, イテレーター ああっ訳がわからん!

# なにがわからん

“`Python
l = [1, 2, 3, 4]
next(l) # TypeError: ‘list’ object is not an iterator
“`

リストってイテレーター(イテラブル)じゃないん?

# イテレーターとイテラブル

**違います。** リストはイテラブルなオブジェクトだけどイテレーターじゃありません。

> 『イテレータ』は『イテラブルなオブジェクト』の中の1つでイテレーションした状態を記憶しておくことができるオブジェクト(イテレータ型のオブジェクト)です。[^1]

[^1]:[Pythonのイテラブル(iterable)とイテレータ(iterator)](https://dot-blog.jp/news/python-iterable-iterator/#:~:text=『イテレータ』は『イテラブルなオブジェクト』の中の1つでイテレーションした状態を記憶しておくことができるオブジェクト(イテレータ型のオブジェクト)です。)

### こう書けばOK

“`Python
l = [1, 2, 3, 4]
next(ite

元記事を表示

Tensorflowで自分に合った彼女を探すCNNを実装しようとしてみた(第一回)

# 目的
僕になんで彼女ができないか…
色々調べ回った結果、自分に自信がないことが原因らしい…

じゃあアプローチの成功確率の高そうな自分に合った女性を見つけられれば自信になるのではないだろうか…
街とか歩いてみると、カップルの服装とか顔の系統ってある程度分類わけできる気がするし。

と言うわけで、今回はまず、ファッションの系統を分けるCNNを実装することから始めてみました!

# ファッションの分類わけ
正直、オサレとかよくわからない…
ので、最初はネットに転がっていたファッションテイスト?なる八個の分類で実装してみたんだけど…
これだとデータがうまく分散してなくて、うまく動かない…

と言うことで、4つの軸で系統分けを行うことにしてみた!
###### 第一軸 ~服の色~
モノトーン – 原色っぽい色 – 淡めの色
###### 第二軸 ~環境~
アウトドア or 街 or 田舎 or インドア or 旅行
(多分、この軸が一個おかしいんだよなぁ)
###### 第三軸 ~性別~
可愛い系 or かっこいい系
###### 第四軸 ~タイプ~
カジュアル or オフィス or アウ

元記事を表示

【Python】”和え麺” 屋さんの券売機のボタンが “油そば” だった事件

## 概要

タイトルのとおりです。券売機を前にとまどいを隠せなかったです。
そんなやりきれない思いを、Pythonで再現してみました。

## コード

“`python
# 2022/08/02 “和え麺” 屋さんの券売機のボタンが “油そば” だった事件

okane = 1000
menus = {“油そば”:750, “鶏ラーメン”:800, “塩ラーメン”:800}

def show_menu():
print(“=====おしながき=====”)
for menu in menus:
print(” {}:{}円”.format(menu,menus[menu]))
print(“=====================\n”)

show_menu()

while True:
want = input(“何を食べる? >>>”)
if want == “”:
pass
elif want in menus.keys():
print(want + “を注文した!”)

元記事を表示

Homebrewでpython3系の最新をインストールする方法

Homebrewでpython3系の最新版をインストールする方法を説明します。

5分もあれば終わる作業でした?

:::note warn
Homebrewがインストールされていることが前提となります
:::

## そもそもHomebrewとは・・・
Homebrew(ホームブルー)は、macOS(またはLinux)用パッケージマネージャーにです。

インストール方法や、基本的な使い方はこちらに記載していますので、まだインストールしていないという方やどう使うか分からないという方は是非一度ご覧ください!

## Python3系のインストール
当記事の執筆時点で、Python3系の最新版はPython@3.9になりますので、Python@3.9をインストールしていきます。

“`bash
% brew search python@3
==> Formulae
boost-python3 python@3.7 python@3.9 bpython cython
python@3.8 ipython jython
“`

元記事を表示

pipでSeleniumをインストールしてブラウザを自動操作しよう!

Seleniumは、ブラウザ自動化を可能にするツール群・ライブラリ群のプロジェクトです。

今回は、PythonでSeleniumを扱う想定で、Pythonのパッケージを管理するためのツールであるpipでSeleniumをインストールしていきます!

5分もあれば終わる作業でした?

:::note warn
Pythonとpipがインストールされていることが前提になります!
:::

## Pythonをインストールする方法はこちら

https://qiita.com/toranoko92114/items/08b287e54bdc36943375

## Seleniumをインストールする方法
こちらのコマンドを実行します!
“`bash
% pip3 install selenium
“`

“`bash
% pip3 install selenium
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work

元記事を表示

Lambda+API Gateway+SlackでNotionにタスクを追加

# 今回やったこと
・SlackのスラッシュコマンドでDMからNotionにタスクを追加できる機能を作成した
・ワークスペースにいるほかの人が勝手にタスクを登録できないようにユーザーIDで制限を付けた

# Notionとは
Notionとはメモやプロジェクト管理,タスク管理のためのオールインワンワークスペースのこと。
個人利用であれば無料で利用することができる。

今回は下の画像のような形式のタスクを追加するものを作成する ~~(プリパラはいいぞ)~~
![task.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269896/e0b90495-6f9a-b04b-41dd-ce6461b086c6.png)

# Notion側の設定
[[Notion] いま人気の Notion の API を試してみる](https://zenn.dev/utah/articles/da8239aca15335)
↑このページの流れで設定を行って、シークレットとデータベースIDをメモしておいてください。
データベー

元記事を表示

RM mini3用にリモコン信号を変換

下記のWebサイトにて、テレビやエアコンのリモコンデータが公開されているのでこのデータを元に、RM mini3用の信号データに変換を行う。
http://www.256byte.com/remocon/iremo_db.php

# ■MSB firstをLSB firstに変換
公開されているデータはMSB firstなので、LSB firstにスクリプトで変換する。
“`convLM.py
#!/usr/bin/env python3

import sys
import re

hex_s = sys.argv[1]
bin_n = bin(int(hex_s,16))

bin_l = len(bin_n[2:])
stn_l = 7 – ((bin_l-1) % 8) + bin_l

bin_zf_n = bin_n[2:].zfill(stn_l)
bin_r = re.split(‘(……..)’, bin_zf_n)[1::2]

l = list()
for b in bin_r:
rev_bin_n = ”.join(list(reversed

元記事を表示

2つの線分の交差判定(python)

## 背景
[問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本](https://gihyo.jp/book/2022/978-4-297-12521-9)の演習問題にて、2つの線分(4点が与えられたとき)の交差判定を行うプログラムを書いたので、今後の参考のためにまとめました。

– [対象の演習問題](https://atcoder.jp/contests/math-and-algorithm/tasks/math_and_algorithm_ah)

## この記事で説明しないこと
以下のサイトに「線分が交差するとは」といった説明やその判定条件についてまとめられているため、この記事では割愛いたします。

すごくざっくりとまとめると、以下です。
– 「交差する」とは、一方の線分を直線にしたとき、もう一方の線分が分断される、それが相互に成り立つか
– 領域を用いて条件の判定が可能。分断されているかは式の積が0未満かで判別できる。

“`math
y1 – ax1 -b < 0 \\ y2 - ax2 -b > 0 \\
(y1 – ax1 -b)(y2 – ax2

元記事を表示

Python日記#2

# Pythonのアルゴリズム
下記のプログラムは1以上N以下の整数のうち、十進法での各桁の和がA以上B以下であるもの総和を求める問題です。
入力の形
N A B
例.14 2 4 が入力された場合
45が出力される。

下記がコードになります。
“`python
def Sample3():
# 整数nの各桁の和を求める関数
def sum(n):
sum_1 = 0
while n > 0:
sum_1 += n % 10 # 10で割った余り
n //= 10
return sum_1
N, A, B = map(int, input().split())
result = 0
for i in range(1, N + 1):
if A <= sum(i) <= B: # A以上B以下 result += i print(result) Sample3() ``` 以上になります。

元記事を表示

SIGNATE StudentCup2022【予測部門】探索的データ分析(EDA)

この記事では、SIGNATE StudentCup2022Summerの[データサイエンティストの職種判別チャレンジ](https://signate.jp/competitions/724)の予測部門のデータについて探索的データ分析(Explanatory Data Analysis, EDA)を行います。

大まかに以下のことを行います。
* jobflagの内訳(Train)
* Train/Testの重複データ確認
* Train/Testデータの単語数比較
* Trainデータの職種別単語数比較
* 単語出現頻度分析
* 単語の出現に基づく職種の予測(ルールベース)

## import/初期設定
“`python
import numpy as np
import pandas as pd

import seaborn as sns
import matplotlib.pyplot as plt

import warnings
warnings.filterwarnings(“ignore”)

%matplotlib inline
sns.set_style(“wh

元記事を表示

GANの訓練ループでよく見るdetachは何をしている?

# どんな記事?

以下は[“Inside Deep Learning”](https://github.com/EdwardRaff/Inside-Deep-Learning/blob/main/Chapter_9.ipynb)という本に載っているGANの訓練ループの一部です.(見やすいように一部編集しています)

“`python
optimizerD = torch.optim.AdamW(D.parameters())
optimizerG = torch.optim.AdamW(G.parameters())

G_losses = []
D_losses = []

for epoch in tqdm(range(num_epochs)):
for data, class_label in tqdm(train_loader, leave=False):
real_data = data.to(device)
y_real = torch.full((batch_size,1), real_label, dtype=torch.fl

元記事を表示

AIの波に乗る為にアイデアを考えて、検討して、挫折するまでの経緯

# 1.概要

## 1-1.はじめに
 タイトルにもある通り、失敗談となる。
 右も左も分からないなりに4か月ほど進めてみた結果、頓挫となったアイデアについて、一部始終を思い出せるだけ書いてみることにした。
 備忘録を残すことで、次に似たようなことをする際に参考になればよいと思ったのと、アイデア供養のつもりである。

## 1-2.背景
 AIの時代と呼ばれてから久しい。
 波に乗り遅れているのは重々承知ではあったのだが、それでも、ITに携わっているものとしては、どこかのタイミングで知っておきたかった。
「AIに仕事を取られる」「シンギュラリティ以降、文化文明が変わる」予言を出す本は数多くあったし、
 現に「AIのべりすと」をはじめ、人工知能を用いた有益なサービスは形となっているし、
 そもそもGoogleやAmazon、Youtubeといった誰もが使っているサービスにはAIが関与している。
 どういったメカニズムか、どれだけ発展しているのか、向き不向きはどんなものか、敷居はどれだけ高いのか。自分が思い描いている人工知能は、実態とどれくらい離れているのか。
 初歩的な情報も含めて、

元記事を表示

Python3: Yahoo 郵便番号検索API の使い方

参考ページ
[郵便番号検索API](https://developer.yahoo.co.jp/webapi/map/openlocalplatform/v1/zipcodesearch.html)

“`py:get_address.py
#! /usr/bin/python
#
# get_address.py
#
# Jul/31/2022
#
# ——————————————————————
import sys
import os
import json
import requests
from dotenv import load_dotenv
# ——————————————————————
sys.stderr.write(“*** 開始 ***\n”)
#
dotenv_path = ‘.env’
load_dotenv(dotenv_path)
APPID = os.env

元記事を表示

Python Beautiful Soupでパースで文字化けしたときに読む記事

# 結論

:::note
BeatutifulSoupの第一引数に、requests.getのレスポンスをresponse.text、response.encodingでエンコーディングして文字列型で指定すると文字化けになることがある。文字化けを回避するには、response.contextとしbytes型を指定する。
:::

理由は、レスポンスHTMLに問題がある。原因は、Content-Typeのエンコーディング(charset)がおかしかったり、指定されてなかったりするからだ。

:::note warn
BeautifulSoupはstr型かbyte型で指定できる。
:::

#### requests側でエンコーディング(文字列型で指定)
– **response.encoding** : Content-Typeのエンコーディング
– **response.text** : response.encodingでデコードされたstr型のレスポンスボディ

#### BeautifulSoup側でエンコーディング(bytes型で指定)
– **response.cont

元記事を表示

既存のDjangoプロジェクトを使ってDjango+Nginx+MySQL環境をDockerで構築する

# 目標
既存のDjangoプロジェクトをdocker-composeで起動する。
# 筆者の環境
| 項目 | バージョン |
|–|–|
|wsl2|Ubuntu 20.04 LTS|
|Docker|version 20.10.17, build 100c701|
|docker-compose|version 1.29.2, build 5becea4c|
# 対象
1. 既にDjangoのプロジェクトを持っていてGitHubにあげている。(GitHub専用ではないのでGitさえ使えれば良いです。)
1. Dockerが使える
1. docker-composeが使える
# 対象かどうかをチェック
Dockerが使えるかどうか
“`bash
$ docker –version
Docker version ~.~.~, build ~~
“`
docker-domposeが使えるかどうか
“`bash
$ docker-compose –version
docker-compose version ~.~.~, build ~~
“`

元記事を表示

Python3: テキストをルビ付きの HTML に変換

次のページを参考にしました。
[ルビ振り](https://developer.yahoo.co.jp/webapi/jlp/sample/sample10.html)

次のようにルビを振ります。
>「最後」のルビは誤りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/2f6f7ff0-c667-227e-67c0-f5aadb259d96.png)

“`py:add_ruby.py
#! /usr/bin/python
#
# add_ruby.py
#
# Jul/29/2022
# ——————————————————————
import sys
import os
import json
from urllib import request
from dotenv import load_dotenv

from parse_results import

元記事を表示

Pythonで自分専用のALEXAを作りました

# 1.はじめに

AmazonのAlexaをpythonで作りたいと思い、試行錯誤を繰り返し、ようやく出来上がりました。
オリジナルのAlexaとはほど遠いですが、条件分岐を記述することである程度の質問には答えてくれました。
これからも改良を続けていきます。

# 2.環境
windows10

# 3.準備

## Speech_recognitionのインストール
“`
$pip install speechRecognition
“`
## pyttsx3のインストール
“`
$pip install pyttsx3
“`
## pywhatkitのインストール
“`

$pip install pywhatkit
“`
## wikipediaのインストール
“`
$pip install wikipedia
“`
# 4.実装

“`main.py
import speech_recognition as sr
import pyttsx3
import pywhatkit
import wikipedia

recognizer = sr.Recogn

元記事を表示

Python3でRM mini3をコントロール

以前はBlackBeanControlなどにPython2が必要だったのが、
Python3だけで使えるようになったのでセットアップメモ

# 環境
Ubuntu 22.04
Python 3.10.4
RM mini 3

Raspberry Piでも確認
 Kernel version: 5.15
 Debian version: 11 (bullseye)
 Python 3.9.2

# 前提
既にRM mini 3がネットワークに繋がっていること。

# python-broadlinkインストール

pipでpython-broadlinkをインストール

“`bash
sudo apt install git pip
pip3 install broadlink
“`

必須ではないがテスト用にcliを取ってくる

“`bash
cd
git clone https://github.com/mjg59/python-broadlink.git
cd python-broadlink/cli
“`

#### 動作確認
こんな感じでRMMINIが見つかればO

元記事を表示

OTHERカテゴリの最新記事