- 1. tkinterで残業代計算デスクトップアプリ
- 2. Pythonista3 やろうぜ!標準機能をみてみる 〜 コーディング編
- 3. 国旗識別アプリの制作工程。
- 4. paizaラーニング「約数の列挙 Python3編」
- 5. paizaラーニング「約数の個数 Python3編」
- 6. paizaラーニング「1 はどこにある? Python3編」
- 7. paizaラーニング「加算された数列の最小値 Python3編」
- 8. paizaラーニング「加算された数列の最大値 Python3編」
- 9. Djangoでの他のテンプレートの継承とフィルタ機能、カスタムテンプレートフィルタの実装
- 10. DjangoでのDTLの利用と画面遷移
- 11. ゲインアンプ付きA/Dコンバータ(SX8725C)を用いた簡易地震計の製作3
- 12. Qiita API v2 でPythonista(3) の記事を取得する(Pythonista3 Advent Calendar 2022 前夜祭0日目)
- 13. Djangoでtemplatesファイルを使用してHTMLを表示する
- 14. Python Language – format() built-in Floating Point Rounding(浮動小数点数の端数処理 – 丸め)
- 15. 【エラー集】ERROR: Could not build wheels for pynbody, h5py…
- 16. Magentaを用いた機械学習作曲入門(Google Colaboratoryで実行)
- 17. USPTO assignmentデータで遊ぶ
- 18. MeCabのタブ区切りの右のCSVフィールドどうやって区切ってる?
- 19. [CICD#0]DockerfileによるCentOS7コンテナの構築 ※現在(2022/11/29時点)作成中
- 20. pythonanywhere.comで自作アプリ公開
tkinterで残業代計算デスクトップアプリ
初めに
今後デスクトップアプリを作成することになるかもしれないのでimport tkinter as tk
#1時間あたりの賃金
def calc(fee, avrworktime):
return fee / avrworktimeroot = tk.Tk()
root.title(‘残業代チェック’)
root.geometry(‘250×250′)#Labelウィジェット
label_1 = tk.Label(root, text=’収入(基本給)’)
label_2 = tk.Label(root, text=’円’)
label_3 = tk.Label(root, text=’所定労働時間’)
label_4 = tk.Label(root, text=’h’)
label_5 = tk.Label(root, text=’1時間あたりの賃金を計算’)
label_6 = tk.Label(root, text=’計算結果’)#entryウィジェット
fee = tk.Entry(width=6)
avrworktime = tk.Entry(
Pythonista3 やろうぜ!標準機能をみてみる 〜 コーディング編
この記事は、[Pythonista3 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/pythonista3) の01日目の記事です。
https://qiita.com/advent-calendar/2022/pythonista3
一方的な偏った目線で、Pythonista3 を紹介していきます。
ほぼ毎日iPhone(Pythonista3)で、コーディングをしている者です。よろしくお願いします。
以下、私の2022年12月時点の環境です。
“`
— SYSTEM INFORMATION —
**System Information*** Pythonista 3.3 (330025), Default interpreter 3.6.1
* iOS 16.0.2, model iPhone12,1, resolution (portrait) 828.0 x 1792.0 @ 2.0
“`他の環境(iPad や端末の種類、iOS のバージョン違い)では、意図としない挙動(エ
国旗識別アプリの制作工程。
初めまして、フィリピン在住のオンシオと申します。
英語がペラペラなことと、ピアノが弾けるとが私のアピールポイントです。この度は、私の初作品である、G7の国旗の識別をするAIアプリを制作いたしました。
初めて制作した画像分類モデルの制作工程を、本記事にまとめます。:::note info
G7とは「Group of 7」の略称で、アメリカ、イギリス、フランス、ドイツ、イタリア、カナダ、日本の7カ国で構成された先進国首脳会議(政治フォーラム)のことです。
::::::note info
開 発 環 境:GoogleColaboratory
使 用 言 語:Python
使用モジュール:tensorflow 2.9.2(Googleの機械学習用オープンソースライブラリ)
:::## ♦制作工程
1.使用データの準備
2.画像の前処理
3.モデルの定義
4.モデルの学習
5.モデルの評価
6.モデルの保存# 工程1. 使用データの準備
:::note info
データ収集方法:[i crawler(スクレイピングツール)](h
paizaラーニング「約数の列挙 Python3編」
https://paiza.jp/works/mondai/loop_problems2/loop_problems2__divsor_print
#### 私の解答
“`Python3
n = int(input())
for i in range(1, n + 1):
if n % i == 0:
print(i)
“`
#### 解答例
“`Python3
N = int(input())for i in range(1, N + 1):
if N % i == 0:
print(i)
“`
ほぼ同じ解答でした!
paizaラーニング「約数の個数 Python3編」
https://paiza.jp/works/mondai/loop_problems2/loop_problems2__divsor_count
算数で習った、約数の定義を忘れてしまったので、グーグルで調べてみました。
算数パラダイスというウェブサイトに『余りが0になるものが約数なので、10の約数は1,2,5,10です。』と書かれていました。そこで、1から順にあまりが0になるものをリストにし、len関数でその数を求める事にしました。
#### 私の解答
“`Python3
n = int(input())
a = []
for i in range(1,n+1):
if n % i == 0:
a.append(i)
print(len(a))
“`
#### 解答例
“`Python3
N = int(input())div_count = 0
for i in range(1, N + 1):
if N % i == 0:
div_count += 1print(div_count)
“`
paizaラーニング「1 はどこにある? Python3編」
https://paiza.jp/works/mondai/loop_problems2/loop_problems2__seq_one
#### 私の解答
“`Python3
n = int(input())
a = [int(x) for x in input().split()]
for i in range(n):
if a[i] == 1:
print(i + 1)
i = i + 1
“`
#### 解答例
“`Python3
N = int(input())
a = list(map(int, input().split()))for i in range(N):
if a[i] == 1:
print(i + 1)
“`
paizaラーニング「加算された数列の最小値 Python3編」
https://paiza.jp/works/mondai/loop_problems2/loop_problems2__add_minseq
#### 私の解答
“`Python3
n = int(input())
a = (int(x) for x in input().split())
s = []
i = 1
for ele in a:
s.append(ele + i)
i = i + 1
print(min(s))
“`
#### 解答例
“`Python3
N = int(input())
a = list(map(int, input().split()))ans = 10000
for i in range(N):
ans = min(ans, a[i] + (i + 1))print(ans)
“`
– 最小値を保持する変数の初期値は 10000 としていますが、例えば a_i が全て 100 だった場合、その最小値は 101 となるので、もし初期値を 101 より小さくしてしまうと、その場合に対応できません。101 以上でそ
paizaラーニング「加算された数列の最大値 Python3編」
https://paiza.jp/works/mondai/loop_problems2/loop_problems2__add_maxseq
#### 私の解答
“`Python3
n = int(input())
a = (int(x) for x in input().split())
s = []
i = 1
for ele in a:
s.append(ele + i)
i = i + 1
print(max(s))
“`
#### 解答例
“` Python3
N = int(input())
a = list(map(int, input().split()))ans = 0
for i in range(N):
ans = max(ans, a[i] + (i + 1))print(ans)
“`
解答例と比べて、私の解答は長すぎですね。
Djangoでの他のテンプレートの継承とフィルタ機能、カスタムテンプレートフィルタの実装
○他のテンプレートの継承
DTLでは、他のテンプレートを継承して。そのテンプレートの機能をそのまま利用することが出来る。ヘッダーの作成や、画面間で共通する機能を実装し、継承先で独自の内容を記述するようになる。#継承元
“`
{% block content %}
ここの内容は継承先が記載する。
{% endblock %}
“`#継承先
“`
{% extends “base.html” %}{% block content %}
ここに独自の内容を記述する
{% endblock %}
#継承元の要素を利用する場合は{{block.super}}と記載する。
“`
例:#継承元(base.html)
“`
{% block title %}Django大学陸上部{% endblock %}
DjangoでのDTLの利用と画面遷移
○DTL(Django Template Language)
デザインを容易にするPythonのテンプレートエンジン。PythonをHTMLで利用するためのツール。
変数、リスト、辞書型をHTMLの中で表示できる。#app/views.py
“`
def home(request):
my_name = ‘Yamamoto Taro’
favorite_fruits = [‘Apple’, ‘Grape’, ‘Lemon’]
my_info = {
‘name’: ‘Taro’,
‘age’: ’24’
}return render(request, ‘home.html’, context={
‘my_name’:my_name,
‘favorite_fruits’:favorite_fruits,
‘my_info’:my_info,
})
“`#templates/home.html
“`Name: {{my_name
ゲインアンプ付きA/Dコンバータ(SX8725C)を用いた簡易地震計の製作3
# ケースの作成
[ゲインアンプ付きA/Dコンバータ(SX8725C)を用いた簡易地震計の製作 1(製作編)](https://qiita.com/pirotan628/items/9ca181ee34e998c7dd24)
[ゲインアンプ付きA/Dコンバータ(SX8725C)を用いた簡易地震計の製作 2(ノイズ対策)](https://qiita.com/pirotan628/items/f2a7f535399d787e03a8)上記の記事で大体の形が出来てきたので、ケースに入れて使いやすくした。コモンモードコイルは1Hzのノイズに対して除去効果が無かったため取り外した。
![th_DSC_3650.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88076/a44fae56-6344-4078-ed58-b2691c5cf7c8.png) ![th_DSC_3651.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/
Qiita API v2 でPythonista(3) の記事を取得する(Pythonista3 Advent Calendar 2022 前夜祭0日目)
この記事は、[Pythonista3 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/pythonista3) の00日目(前夜祭)の記事です。
https://qiita.com/advent-calendar/2022/pythonista3
一方的な偏った目線で、Pythonista3 を紹介していきます。
ほぼ毎日iPhone(Pythonista3)で、コーディングをしている者です。よろしくお願いします。
以下、私の2022年12月時点の環境です。
“`
— SYSTEM INFORMATION —
**System Information*** Pythonista 3.3 (330025), Default interpreter 3.6.1
* iOS 16.1.1, model iPhone12,1, resolution (portrait) 828.0 x 1792.0 @ 2.0
“`他の環境(iPad や端末の種類、iOS のバージョン違い)では、意図とし
Djangoでtemplatesファイルを使用してHTMLを表示する
Djangoで新しいアプリケーションを作成したその続きとして書く。
そこまでは下のものを参考にする。https://qiita.com/ysk-s/items/52b5c3747d3c10391ec5
○templatesの役割
templateではユーザーからの要求に応じ動的にページを作成して返す機能を持っている。HTML、CSS、JSと同時にPythonのコードを埋め込むことでPythonで生成した値を画面上に出力することが出来る。○Templateの使用
appディレクトリ内にtemplatesフォルダを作成した場合、appディレクトリ内のviews.pyに既にインポートされているrenderを用いて、下のように記述する。#app/views.py
“`
def index(request):
return render(request, ‘app/index.html’)
“`
この記述があると、appディレクトリ内に作成した、appフォルダ内のindex.htmlがこの関数がURLを介して呼ばれた際呼び出される。templatesディレクトリ内にa
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.htmPython では 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.9/library/decimal.h
【エラー集】ERROR: Could not build wheels for pynbody, h5py…
pip install でパッケージをインストールしようとしたら
“ERROR: Could not build wheels for pynbody, h5py…”
というエラーが出た。pip3 install –upgrade pip
pip3 install h5py
など、色々試しても依然だめ。正常にpip installできた別のPCとの環境の違いを確認したところ、
どうやらPythonのバージョンが違うらしい。Python3.11を使っていたのを、代わりにPython3.8でやってみたら上手くいった。
ちなみに3.9以降のバージョンで問題が発生するようだ。
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)の記事です。
* 特許は自分(自社)で生み出すだけでなくて、他者(他社)から獲得することも多いです。有名なのは[Googleの事例など](https://www2.deloitte.com/jp/ja/pages/strategy/articles/ipa/ip-license-google-20161221.html)。特許の譲渡(assignment)事例はその企業の知財での戦い方も伺うことができるので調べると結構面白い。USPTOは使いやすく特許譲渡データを提供してくれているので、これで遊んでみました。# 2.方法(2パターン)
とりあえずデータを入手しようとということで、USPTO関連のサイトを放浪して、以下の2つの方法(API使う、自前でデータベース作成)を検討。## 2-1.APIを使う
![image.png](https://qiita-image-store.s3.ap-northeast-1
MeCabのタブ区切りの右のCSVフィールドどうやって区切ってる?
うちではこういうの書いて使ってるというメモ。
“`python3:mecab_toolbox.py
#! /bin/python
# coding: utf-8from io import StringIO
import csvdef 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 retdef 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