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

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

Python Language – format() built-in Floating Point Rounding(浮動小数点数の端数処理 – 丸め)

Python では、他の多くの言語と同様に浮動小数点数における端数の丸めが行われます。

__15. Floating Point Arithmetic: Issues and Limitations__
https://docs.python.org/3.9/tutorial/floatingpoint.html

__The Perils of Floating Point__
https://www.lahey.com/float.htm

Python では IEEE 754 の `Round to nearest, ties to even(最近接丸め(偶数)= 偶数丸め(= 銀行家の丸め =Bankers’ Rounding ))` を採用しています。
__IEEE 754__
https://en.wikipedia.org/wiki/IEEE_754#Rounding_rules

※ decimal 等で丸めの方法を変更することも可能です。
__Rounding modes__
https://docs.python.org/3/library/decimal.htm

元記事を表示

Magentaを用いた機械学習作曲入門(Google Colaboratoryで実行)

こんにちは。[東北TECH道場 郡山道場](http://koriyama.tohokutechdojo.org/)でスタッフをしています。今年度(第7期)は [Google Colaboratory](https://qiita.com/Aster_ideatech/items/3ae6ea5e5a011ebcd0b7)を使用して、Python の基礎を学ぼうということで月に1回活動しています。そこで、「Magentaを用いた機械学習作曲入門」という講座をGithubに公開しました。「Open In Colab」ボタンを押すと「Google Colaboratory」で開いて実行することができます。どなたかのお役に立てれば幸いです。

# 「Magentaを用いた機械学習作曲入門」
https://github.com/tomato-sugar/python_lesson/tree/main/magenta_basic

# 講座の内容
## magenta_basic1.ipynb
Ⅰ Magentaの概要
(1) Magentaとは
(2) Magentaに

元記事を表示

USPTO assignmentデータで遊ぶ

# 1.はじめに
* この記事は[知財系もっと Advent Calendar 2022](https://adventar.org/calendars/8055)の記事です。
* USPTOはデータだけでなくAPIも提供してくれているので、もっと知財データで遊べるといいなと思って書きました。

# 2.方法(2パターン)
とりあえずデータを入手しようとということで、USPTO関連のサイトを放浪して、以下の2つの方法を検討。

## 2-1.APIを使う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385220/335536ab-0f3c-3c39-8011-260bc65951aa.png)

USPTOの[データ活用のプロジェクト](https://developer.uspto.gov/api-catalog)の1つで各種データを取得するのにwebAPI経由で取得できるものをそろえてくれています。
詳しくはリンク参照ですが、

* USPTO Office Action W

元記事を表示

MeCabのタブ区切りの右のCSVフィールドどうやって区切ってる?

うちではこういうの書いて使ってるというメモ。

“`python3:mecab_toolbox.py
#! /bin/python
# coding: utf-8

from io import StringIO
import csv

def csv_splitter(csv_line, empty_elem=”):
fin = StringIO(str(csv_line)) # バイナリにしないとcsvのnextで怒られる
splitted_line = next(csv.reader(fin))
fin.close()
ret = []
for elem in splitted_line:
if elem:
ret.append(elem)
else:
ret.append(empty_elem)
return ret

def csv_joinner(listed_line):
ret = []
for elem in

元記事を表示

[CICD#0]DockerfileによるCentOS7コンテナの構築 ※現在(2022/11/29時点)作成中

gilab+ansible+gitlab-runnerでITインフラのCI/CDを実現するプロセス
※環境構築も本記事も絶賛作成途中でございます。

# 本稿の目的
DockerコンテナのCentOS上にansible+gitlab-runnerのCI/CD環境を構築するのに
ベースとなるCentOSになんのライブラリを突っ込むのが適切なのかを知ることが目的です。

# 全体構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408313/e12005e3-3e2a-4db2-affb-667f2698fc82.png)

# 本稿で解説する部分(コンテナ1)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408313/11682137-0a5f-69a6-c2ad-86e461f2f220.png)

# 結論
最終的に出来上がったコンテナ1のDockerfileを記載します。
“`

元記事を表示

pythonanywhere.comで自作アプリ公開

PythonとFlaskで作ったウェブアプリをレンタルサーバーで公開しようとしましたが、エラーの対処が難しくpythonanywhere.comで公開することにしました。

エラーが出たのは、コアサーバーです。
V1プランですが、サポートに確認したところpipは、利用者に権限が無いと言われました。
また、Flaskもnotebookも使えないと言われてしまいました。
ネットでコアサーバーでPythonで作ったアプリを公開する記事をみかけましたが、挑戦される方は、注意が必要です。

Pythonでアプリを作る手順はたくさん公開されていますが、デブロイしたり、アプロを公開したりする手順の記事が少ないように思えたので書きました。

こちらの記事を参考にしました。

https://qiita.com/dem_kk/items/92c16ebbe3bfba669025

デブロイするファイルをまとめたZipファイルを解凍するときは、予めアプリのフォルダを作っておいてから解凍すると良いです。

下記のコマンドで、仮想環境に入ることができました。
“`bash
. app/bin/activ

元記事を表示

listがNoneかどうかを判定する

# listがNoneかどうかで条件分岐させたい。

Noneと比べるときは、=ではないという話。
listがNoneの時とそうでない時があり、この条件に従って分岐させたかった。しかし、エラーに阻まれ敗北…

“`python:
list = hoge#noneの時もあれば、[810, 114]のように値がある場合もある

if list = None
print(‘noneです!’)
else
print(‘noneではないです。’)

“`

“`
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
“`

listが要素を持つとき(Noneではない時)にエラーが出ました。リストは複数の要素を持つので、a.any() or a.all()を用いずにNoneと比べることはできないようです。

# a.any()を使ってみた

“`python:
list = hoge#noneの時もあれば、[810,

元記事を表示

Tweepyを使ってリストのwordcloudを作ってみた

# 概要
フォロワーたちが今日何で盛り上がったのか、今のトレンドはどのようなものなのかがきになったので、それが1目でわかるWordCloud画像を生成することで、今のタイムラインの流れをある程度掴めるツールを作成した。

# 環境
MacBookPro 13-inch, M1, 2020
macOS Ventura 13.0.1

# 目次
– ファイル構成
– プログラム全文
– TwitterAPIの申請
– ライブラリのインポート

# ファイル構成
TL
├ .env
├ config.py
├ api.py
├ list.py
├ tweet.py
├ creat_image.py
├ tweet.txt
├ tweet_id.txt
├ stop_words.txt
└ result.png

# プログラム全文
“`.env
# 例
API_KEY=’sdS5kjFenFDig8UtMwFm5f3JQ’
API_SECRET=’5kAxS7n3uKBRCJVVQmqbDGdXkbPz4ej9SS7xYqT4JqhUyqFdha’
CONSUMER_K

元記事を表示

f13: xserver vps + ubuntu + ssh + python

.

### **[ おまとめ ]**

xserver vps を契約したので、設定メモです

**(01) 前提事項**
**(02) teraterm にて ssh 接続**
**(03) 一般ユーザーの作成**
**(04) 一般ユーザーでの ssh 設定**
**(05) sshd_config の設定**
**(06) port No. 変更**
**(07) その他の設定**
**(08) ftp 接続**
**(09) python / pip の設定**
**(10) cron の設定**
**(11) イメージ バックアップ**

### **[ 1. キッチン ]**

 **・Xserver VPS / 2GB プラン**
  **-> Ubuntu 22.04 (64bit)**

 **・Windows10 64bit pc**
 **・Tera Term Pro version 2.3**


### **[ 2. 調理 ]**

**—- (01) 前提事項 ————————-**

**[ V

元記事を表示

40代おっさん面会予約アプリを作ってみる⑥

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## 前回の記事





## 下記の場合にエラーを出す

– 定員より多い予約人数の場合
– 利用時間を超えている場合
– 開始時刻 >= 終了時刻 の場合
– 予約がかぶっている場合(下記の場合に被りが発生)
– 登録済、終了時刻 > 新規登録、開

元記事を表示

AWS IoT SDK for Python v2 で publish

こちらのページと同じことを行ないました。
[Python の使用時に、デバイスから AWS IoT Core に MQTT メッセージを発行する方法を教えてください。](https://aws.amazon.com/jp/premiumsupport/knowledge-center/iot-core-publish-mqtt-messages-python/)

## プログラム

“`py:iot_publish.py
#! /usr/bin/python
#
#
# ——————————————————————
from awscrt import io, mqtt, auth, http
from awsiot import mqtt_connection_builder
import time
import json
import sys
#
# ——————————————————————
ENDP

元記事を表示

[Mapデータタイプ] 5分で実装可能!!!Dictionaryを応用しヒューマンリーダブルなコードを書こう

## 概要
– 関数の中にif文で条件分岐する際に、Dictionaryを使う場合と使わない場合で比較をし、その違いを紹介する
## 目的
– PythonにおけるDictionary、関数の理解
– ヒューマンリーダブルなコードを書く意識を高める
## Dictionaryとは
– キーと値をペアで管理できるデータタイプ
“`python
dict_test = {“key”: “value”}
print(dict_test[“key”]) # キーを指定して値へアクセスできる
# “value”
“`

# 今回実装するのは自宅電話番号のバリデーション
– 市外局番が**050**で始まる場合は11桁のみを許容する。
– 市外局番がそれ以外で始まる場合は10桁のみを許容する。

## Dictionaryを使用しないケース
“`base.py
# 上にはクラスの定義とpydanticのデコレータでバリデーションを記述している
# 省略↑
def home_phone_number_local_area_code_split(self):
if sel

元記事を表示

paizaラーニング「階乗の末尾に 0 はいくつ付く? Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__factorial_zero
#### 私の解答
“`Python3
n = int(input())
ans = 1
for i in range(2,n+1):
ans = ans * i

div_count = 0
while True:
if ans % 10 == 0:
ans //= 10
div_count += 1
else:
break

print(div_count)
“`
前の2種類の問題の解答を組み合わせて作りました。解答例と比べて長すぎますね。
#### 解答例
“`Python3
N = int(input())

count_zero = 0
while N > 0:
count_zero += N // 5
N //= 5

print(count_zero)
“`
– 整数 N を受け取ります。また、末尾の 0 の個数を保持

元記事を表示

paizaラーニング「階乗の計算 Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__factorial
#### 私の解答
“`Python3
n = int(input())
ans = 1
for i in range(2,n+1):
ans = ans * i
print(ans)
“`
#### 解答例1
“`Python3
N = int(input())

factorial = 1
for i in range(2, N + 1):
factorial *= i

print(factorial)
“`
#### 解答例2
“`Python3
from math import factorial

N = int(input())

print(factorial(N))
“`
– Python の場合、 math モジュールの factorial 関数を使用すると、階乗の計算を行うことができます。

元記事を表示

paizaラーニング「毎日増加するお金 Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__inc_percent
#### 私の解答
“`Python3
A, B = map(int, input().split())
num = 0
while A <= B: A = int(A * 1.1) num += 1 print(num) ``` 前の問題の解答例を参考にしたからか、全く一緒でした!!! #### 解答例 ```Python3 A, B = map(int, input().split()) num = 0 while A <= B: A = int(A * 1.1) num += 1 print(num) ```

元記事を表示

paizaラーニング「N が M ずつ増えたときにいつ K を越える? Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__inc_m
#### 私の解答
“`Python3
n,m,k = map(int,input().split())
ans = 0
if n <= k: while n + m <= k: n = n + m ans += 1 print(ans+1) else: print(0) ``` 私の解答は長すぎでした。 #### 解答例 ```Python3 N, M, K = map(int, input().split()) num = 0 while N <= K: N += M num += 1 print(num) ```

元記事を表示

paizaラーニング「10 進数から M 進数に変換 Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__conv_nbase

#### 私の解答
“`Python3
N,M = map(int,input().split())

shinsu= 0
i = 0
while N > 0:
digit_num = N % M
shinsu += digit_num * pow(10, i)
N //= M
i += 1

print(shinsu)
“`
前の問題の解答例を修正して書きました。

#### 解答例
“`Python3
N, M = map(int, input().split())

base = “”
while N > 0:
base += str(N % M)
N //= M

print(base[::-1])
“`
– N が自然数であれば、M で割った余りを取ると、M 進数に変換した際の M^0 の桁を求めることができます。
– M^0 の位を求めたら N を M で割り、もう一度同じ操

元記事を表示

paizaラーニング「10 進数から 2 進数に変換 Python3編」

https://paiza.jp/works/mondai/loop_problems2/loop_problems2__conv_binary

– 整数の10進数を2進数に変換
算数か数学で習ったことがあるような気がしましたが、全く覚えていませんでした。ググってみたところ、整数の10進数を2進数に変換するには、変換したい10進数を商が0になるまで2で割りつづけ商と余りを求めればよいと、基本情報技術者講座のウェブサイトに掲載されていました。結構考えてみたのですが、プログラムが思いつきませんでした。今回は解答例を参照して勉強することにしました。
#### 解答例1
“`Python3
N = int(input())

binary = 0
i = 0
while N > 0:
digit_num = N % 2
binary += digit_num * pow(10, i)
N //= 2
i += 1

print(binary)
“`
– N % 2とすることで、2 進数にした場合の数字を求め、pow(10, i) を掛けることで現在の桁に合

元記事を表示

【Python】ロト6とロト7の当選データから見る傾向(次にきそうな数字とは?)

# 1.はじめに

コロナ禍からテレワーク。
通勤時間にかける時間を別の事に使う時間が増えた。
少し前から始めたロト6。
気まぐれな攪拌機から飛び出す番号のかかれたボール。
何度も見送った高額当選。
[前回](https://qiita.com/xmorning777/items/beccef26e2e3e62847f5)記事とは違う角度の「前回出た数字から次回でそうな数字」の傾向を調べてみることにした。
今回はロト7の傾向も見れるようにしたい。

# 2.流れ

## 2.1
ロト6かロト7のどちらの傾向が知りたいか入力
(ロト6なら6を、ロト7なら7を入力)
## 2.2
開催回の範囲(開始回と終了回)を入力
ロト6の傾向を見る場合はloto6_2.csvを読み込む。
ロト7の傾向を見る場合はloto6_2.csvを読み込む。
(loto6_2.csv:ロト6の当選結果番号のcsvファイル、
loto6_7.csv:ロト7の当選結果番号のcsvファイル)
指定した範囲でdataframeを作成しておく

## 2.3
各数字の出現回数の辞書の作成

## 2.4
`前回数字と今

元記事を表示

PythonでSubversionのファイルやフォルダ情報をCSV形式で保存する

# pysvnについて
– Subversionのpython用のAPIで、svnをインストールする必要はありません。
– svnをラップしているそうなので、機能は一緒だと思います。
– https://github.com/dsoprea/PySvn
– https://pysvn.sourceforge.io/Docs/pysvn_prog_ref.html

# pysvnのインストールについて
### Windows環境
– インストーラーでインストールできます
– https://pysvn.sourceforge.io/downloads.html
### Mac環境
– インストーラーはありますが、py39-python_org-pysvn-svn1142-1.9.18-2091-x86_64.dmgをインストールしようとしたところエラーになりました。Pythonのパスが「/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages」で固定されており、pyenvを使

元記事を表示

OTHERカテゴリの最新記事