- 1. 1行でじゃんけんゲームをつくる(python)
- 2. 3Dの座標値を出力する|Python
- 3. 自分用Pythonコードメモ
- 4. Doc2Vecの事前学習済みモデルから単語や文書のベクトルを獲得する
- 5. ゼロから始めるLeetCode Day57 「35. Search Insert Position」
- 6. 10分でわかるBeautifulSoupを使ったスクレイピング
- 7. Djangoの汎用クラスビューを用いてシンプルなCRUDアプリを作ってみる
- 8. Nuxt&Django REST Frameworkを使って遊ぶ
- 9. PythonとSiemensPLCでSocket通信しよう
- 10. Pythonでアルゴリズム(素数判定)
- 11. Pythonで株価を機械学習
- 12. PythonでChemSpiderを利用する方法
- 13. よく使うファイル・フォルダダイアログをクラス化
- 14. Python Pandas データ前処理 個人メモ
- 15. Pygameを使って判定処理
- 16. discord.pyのCogとExtensionを理解する
- 17. 最近 Pythonを勉強し始めたので……
- 18. pythonでbigqueryのデータセットとテーブル一覧を抜き出してCSV出力する
- 19. Windows 10にZIP版Pythonとpipをインストール
- 20. レビューサイトをスクレイピングして単語数を調査する[python]
1行でじゃんけんゲームをつくる(python)
python3.8+ onlyです
# コード“`python
print(“a|b|c”*-~-((a:=input(“a:パー\nb:チョキ\nc:グー\n”))in”abc”)or”Draw”*((b:=__import__(“random”).choice(“abc”))==a)or”You “+”lwoisne”[b+a in”abbcca”::2],f”\nyou:{a} pc:{b}”)
“`185Byteです
# 解説
最初に言っとくと多分もっと短くできると思います…
まあわかりやすくすると
“`python
import randoma = input(“a:パー\nb:チョキ\nc:グー”)
b = random.choice(“abc”)
if -~-(a in “abc”):
print(“a|b|c”)
elif a == b:
print(“Draw”)
else:
print(“win” if b+a in “abbcca” else “lose”)
print(f”you:{a} pc:{b}”)
`
3Dの座標値を出力する|Python
#Pythonで3D表現をしてみた
2Dでのグラフ表示をしてみたので、今度は3D表示を試みてみた。
使用したのは
・MacOS
・PyCharm(エディタ)
・*numpy*
・*matplotlib*
・*mpl_toolkits*
以上を使用します。
##空間二次関数のグラフ
以下のような画像ができました。
X-Yビューでは1ずつ増やして
X座標 × Y座標 = Z座標 となるように表現してみました。ではサンプルコードです。
“`Python:plotAxes3D.py
# Numpy, Matplotlib
# mpl_toolkits.mplot3d を使って3D座標をプロット
# — 2020.06.16 Pro
自分用Pythonコードメモ
自分用のPythonコードメモです。Python歴は2年くらいです。
メモしてないと忘れて何回も調べる羽目になるというに最近気づいたので…
ついでに初めてのQiitaでの記事なので、体裁とか気にせず殴り書き。
余裕あれば過去のコード見て追記していきたい。(やったことある項目だけとりあえず書いとく)
オブジェクト指向が苦手。Django勉強中。LINEのチャットボットアプリを作る予定。# 条件分岐
### between“`python
a = 10
# print(2 <= a and a <= 15) print(2 <= a <= 15) ``` ⇒true # リスト ### 逆順ループ ```python for i in reversed(range(5): print(i) ``` ⇒4, 3, 2, 1, 0 ### リスト内にあるか ```python l = ["a", "b", "c"] print("a" in l, "d" in l) ``` ⇒true, false ### 検索してインデックスを返す ```python l = ["
Doc2Vecの事前学習済みモデルから単語や文書のベクトルを獲得する
#事前学習済みモデルのダウンロード
https://github.com/jhlau/doc2vec#モデルをloadし,単語ベクトルを確認してみる
“`confirm_WordVector.py
from gensim.models.doc2vec import Doc2Vec
model = Doc2Vec.load(‘model/enwiki_dbow/doc2vec.bin’)
vector = model.infer_vector([“word”])
print(len(vector))
print(vector)
“`“`
300
[ 1.40280828e-01 1.83409289e-01 -2.64408961e-02 -1.11115627e-01
-1.84268013e-01 2.21883774e-01 -1.39962300e-03 -7.80699700e-02
-8.71175826e-02 2.56892532e-01 1.28477469e-01 -1.32150203e-01
9.16299447e-02 -1
ゼロから始めるLeetCode Day57 「35. Search Insert Position」
# 概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。
どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。
早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。
と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。
ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。
[Leetcode](https://leetcode.com/)
Python3で解いています。
[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)
前回
[ゼロから始めるLeetC
10分でわかるBeautifulSoupを使ったスクレイピング
##はじめに
こんにちは。
私はIT企業で経理として働いています。
せっかくIT企業に勤めているんだからバックオフィスの業務にもプログラミングを活かしてみたい、、、!
そんな気持ちでPythonを触ってみました。##こんな人に向けて書きました
– スクレイピングについてざっと知りたい人
– ほんの少しプログラミングをかじって、できることを探している人
– 業務を自動化できないか検討中の管理部の人##目次
– スクレイピングって何ができるの?
– スクレイピングの仕組みは?
– サンプル①
– サンプル②(応用例)##スクレイピングって何ができるの?
**取得したHTMLから、任意の情報を抽出し、加工する**ことができます。
具体的には、スクレイピングを活用してこんなことができます。– 毎日同じWEBサイトにアクセスして、情報をcsvファイルに転記する作業を自動化
– SNSで特定のキーワードでヒットした画像をすべてダウンロードする
– 特定のキーワードをに当てはまる企業を抽出し営業リストを作成##スクレイピングの仕組みは?
ざっくりというと、
**WEBサイト上の情
Djangoの汎用クラスビューを用いてシンプルなCRUDアプリを作ってみる
# はじめに
以前、Railsで簡単な投稿・編集・削除ができるアプリを作ったので、Djangoでも再現できるか試してみました。
「読んだ本の感想を投稿する」というテーマで、本のタイトルと短めの感想を投稿できるようになっています。
コードソースを以下に置いておきます。Rails版:
https://github.com/Sn16799/Bookers.git
Django版:
https://github.com/Sn16799/DjangoBookers.git# 環境
OS: centos7
Django: 3.0.6
Python: 3.8.3# アプリの立ち上げ
“`
$ python manage.py start project mysite
$ cd mysite
$ python manage.py startapp bookers
“`# ディレクトリ構成
templates以下, forms.pyを手動で付け足しました。“`
mysite/
bookers/
templates/
books/
inde
Nuxt&Django REST Frameworkを使って遊ぶ
# 概要
今までNuxt.jsとDjango REST Frameworkを使って色んなことをやってきたのですが、[ゼロから始めるLeetCode](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)という毎日更新の記事を書いているせいで自身の投稿履歴から見直す時にいちいち見辛い・・・
ということでハブ的なまとめページを作りました。
# リンク
– [djoserを使ったDjango REST Frameworkでの認証機能の実装](https://qiita.com/KueharX/items/eef29ae0c5c238cbf61c)
– [djoserを使ったDjango REST FrameworkでのJWT認証機能の実装](https://qiita.com/KueharX/items/3568b27213cdbd1cf261)
– [djoserを使ったDjango REST Frameworkでのカスタムユーザーモデル認証機能の実装](https://qiita.com/KueharX/items/009
PythonとSiemensPLCでSocket通信しよう
今回やったのはS7-1500のPLCとPythonでSocket通信のプログラムを作ろうと思います。
#Siemens側
Siemens側使ってるのは以下の4つのFBでうございます。– FB65 “TCON”
– 接続を確立させるの関数です。(Socket.connect()のような)
– FB66 “TDISCON” for ending the connection
– 接続を切るの関数です。(Socket.close()のような)
– FB63 “TSEND” for sending data
– データを送信する関数です。(Socket.send()のような)
– FB64 “TRECV” for receiving data
– データを受信する関数です。(Socket.recv()のような)関数の名前がわかった時点、Socket通信するためにはIP、PORTなど設定する必要がありますが、Siemnes側にはTCON_Paramという構造体が用意しています。もちろんDefault値のままのところもあり、ちゃんと設定する必要場合もありま
Pythonでアルゴリズム(素数判定)
#はじめに
Atcoder Biginner Contest170にて、エラトステネスの篩の考え方を応用させるというのを見て、エラトステネスの篩すらまともに理解できてないままではいかんと思い執筆を決意しました。
実用性というよりは原理の理解のための記事なのでコンテスト中などにたどり着いた方は[こちら](https://ikatakos.com/pot/programming_algorithm/number_theory/prime_judge)
がおすすめです。(いつも参考にさせていただいているいかたこのたこつぼさんのHPです)
#素数判定
##試し割り法
まずは、試し割り法と呼ばれる手法を用います。2よりも大きい数で順に割っていき、割り切れたらその数を約数に持つということなので素数ではありません。
しかし、$N$まで全ての数で割っていく必要はありません。$N$が約数$d$を持つとすると、$N/d$も$N$の約数であり、どちらか小さい方で割れば十分です。小さい方が最大となるのは、これら2つが等しくなるときなので、(小さい方が大きい方を抜かすとそれはもう調べ終わっている) $\sq
Pythonで株価を機械学習
#目的
***1. githubにコードが上がっているので、どのモデルが一番いいのか教えて欲しい***
2. pythonを使用して、株価が次の日上がるか下がるか機械学習させて結果を表示
3. お金稼ぎたい(楽して♡)– 開発環境:python3
– githubのコードURL:https://github.com/maeda-naoya-fk/Machine-Learning-for-stock注意:python初心者なんでコードの誹謗中傷はよして下さい。どうかおねがいします。
#準備
– 本記事はわかりやすいようにjupyterベース(Example.ipynb)でコードを回していきます。jupyterない人も大丈夫! config.iniをいじってコマンドで“`python3 main.py“`と打てばok– ***コードの中身を詳しく説明しても長ったらしくなるので、簡単に何をしたか説明します***
“`python:Example.ipynb
from datetime import datetime
from scraiping import Scra
PythonでChemSpiderを利用する方法
# はじめに
[ChemSpider](https://www.chemspider.com/)は、代表的な化合物のデータベースです。
ここでは、PythonでChemSpiderのデータを利用する方法について解説します。# Web API利用申請
まず、Web APIの利用申請が必要です。
[Developers Portal](https://developer.rsc.org/)から申請を行います。
ここでAPIキーが発行されるので、これを利用してChemSpiderのデータを取得します。# ChemSpiderクラスのインスタンス作成
PythonでChemSpiderを利用するには、`chemspipy`を使います。
上で取得したAPIキーを利用して、`ChemSpider`クラスのインスタンスを作成します。“`python
from chemspipy import ChemSpidercs = ChemSpider(発行されたAPIキー)
“`# 化合物の検索
“`python
search_results = cs.search(
よく使うファイル・フォルダダイアログをクラス化
## ファイル・フォルダダイアログをクラス化
仕事中にファイルダイアログ画面をつくることが多くなりました。
以下の要素を毎回つくります。* 画面タイトル
* 画面サイズ
* エントリーラベル
* エントリー画面
* ダイアログ表示ボタン
* 実行ボタン自分の備忘録と再利用化しやすいようにクラス化しました。
以下ソースコードです。クラスの継承(自分の備忘録用)も含まれています。“`python:Dialog_menu.py
import os
import csv
import tkinter as tk
from tkinter import filedialogclass Dialog_menu_screen(object):
def __init__(self,screen_title,screen_size,path_label,dialog_btn,start_btn):
self.screen_title = screen_title
self.screen_size = screen_size
self.path_label =
Python Pandas データ前処理 個人メモ
# この記事について
pandasを使ったデータの「前処理」について学習を進める中で随時更新している個人的メモ。
## この記事についての注意
– 前処理というと、AI・機械学習をイメージされるかと思いますが、
わたしが前処理学習を行う目的は、蓄積データを “思うように加工・分析できるようになりたい” からです。機械学習を目的とした前処理の情報としては不足する可能性があります。
– わたしはAI分野の人ではありませんので、そちら方面の知識を求めている方はこの記事の内容は参考程度に留めていただく方が宜しいかと思います。
– 書きかけの為 曖昧な表現が多く、わかりにくい情報があるかもしれません。随時更新する予定ですが誤った情報についてはご指摘くださると嬉しいです。# 前処理とは?
蓄積したデータを、目的の作業(機械学習など)をするために、綺麗にしたり、加工したりすること。
機械学習を行う方々も、データ収集作業とあわせて この作業に1番の作業時間を使っているらしい。## 前処理を学習する上で登場する言葉
– データクレンジング
– データクリーニングと同義。多分「
Pygameを使って判定処理
#Pygameを使ってPythonで判定処理
線形補完を使用しながらPygame、Mathを使用してブロック崩しを作成してみることに。##スプライト
スプライトとは、おいしい炭酸飲料ではなくて、ゲーム背景とは別に動く画像を指す言葉です。たとえば、RPGのキャラクター、ブロック崩しのブロック、ボール、シューティングの飛行機、ミサイル、爆弾などは全部スプライトです。Pygameにはスプライトを表す便利なモジュール
###pygame.sprite
があります。pygame.spriteを使うとスプライトの管理、描画、衝突判定が簡単にできます。– 以下はサンプル画面
“`Python:pyGameBlock.py
# coding: ut
discord.pyのCogとExtensionを理解する
どうも〜。
最近noteでdiscordのサーバーレビューを始めたすみどらです。是非見てください。お願いします。
https://note.com/sizumita
# はじめに
discord.pyでext.commandsフレームワークを使い始めたときに、Cogを使おうと思っても、うまくいかない人が多いです。そんな人のために、解説をしていきたいと思います。# Cogとは?
[Cogの解説](https://discordpy.readthedocs.io/ja/latest/ext/commands/cogs.html)にも書いてありますが、Bot開発においてコマンドやリスナー、いくつかの状態を一つのクラスにまとめるために作られました。
例えば、コマンドのカテゴリーごとの分類や、リスナーを機能ごとに切り分けたようなものです。オブジェクト指向ですね。
Cogはcommands.Cogを継承したクラスを作れば作ることが可能です。
こんな感じ:“`py
from discord.ext import commandsclass MyCog(commands.Cog)
最近 Pythonを勉強し始めたので……
初投稿です。
独学でpythonを勉強し始めたので、アウトプットのための投稿です。## 型とか色々
始めたばかりなので、初歩的な部分を色々とやっています。#### 型について
– int=integre型
– 主に数字を扱う。整数、少数、指数表記などを表現することができる。クォートで囲めば文字列に変換可能。
Python3だとかなり膨大な桁数を扱うことができる。
文字を入れるとエラーをはく。(ture,falseを除く)“`
>>> int(20)
>>> 20
“`– float型
– 小数点を専門に表現する。float型で整数を入力すると、必ず1.0のように小数点以下第一位が表示される。クォートで囲むことで文字列に変換可能。
文字を入れるとエラーをはく。(ture,falseを除く)“`
>>> float(3.0)
>>> 3.0>>> float(4)
>>> 4.0
“`– str=string型
– 文字列を専門に扱う型。数字でも文字として変換できる。ただし、計算などはできない。“`
>>> str(abc)
>>>
pythonでbigqueryのデータセットとテーブル一覧を抜き出してCSV出力する
A列にデータセット名、B列にテーブル名が記載されたCSVを出力します。
対象のprojectはターミナルで以下を打ち込んだ際に表示されるプロジェクトとなります。“`
gcloud config list
“`コード
“`.py
import datetime
import pandas as pd
from google.cloud import bigquerybigquery_data = pd.DataFrame(
index = [] ,
columns = [‘dataset’,’table’]
)client = bigquery.Client()
datasets = list(client.list_datasets())
project = client.projectfor dataset in datasets:
dataset_id = ‘{}.{}’.format(project , dataset.dataset_id)
dataset = client.get_dataset(dataset_
Windows 10にZIP版Pythonとpipをインストール
# 初めに
WindowsでPythonを使いたいけど余計なものは入れてくれるなという私向けの記事です。
多分普通にインストーラでもそんなに入るものは変わらないと思う。# PythonのZIP版をダウンロード
公式よりWindows用Pythonをダウンロードする。
https://www.python.org/downloads/windows/私はPython3.7の64bit版が欲しかったので以下をダウンロードしました。
> Note that Python 3.7.6 cannot be used on Windows XP or earlier.
> ・Download Windows x86-64 embeddable zip file# 好きな場所に展開
私は `%USERPROFILE%\bin` にアプリケーションをインストールするという運用をしているので`%USERPROFILE%\bin\python3` に展開しました。# Pythonのパスを通す
環境変数のPATHに展開したPythonの展開パスを追加する。“`:例
%USERPROFI
レビューサイトをスクレイピングして単語数を調査する[python]
スクレイピング練習の備忘録です。
##概要
・映画レビューサイトをスクレイピング
・レビュー内容の出現単語数を可視化映画レビューサイトは[filmarks](https://filmarks.com/)を利用しました。
##[filmarks](https://filmarks.com/)とは
0~5.0のスコア(0.1刻み)と映画の感想をシェアするSNSです。
好きな人をフォローすることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479337/571e85ba-989e-8982-692b-6dc0ab2f5e5a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479337/d9de9f6e-a23f-af5d-66a6-97a0eb95c937.png)####今回は名探偵ピカチュウの投稿内容をスプレイピングしていきます。
![image.png](