- 1. seleniumでリンク(aタグ)をクリックできないときの対処
- 2. djangoを使ったAPI開発を理解する[part1 目的の整理と環境構築]
- 3. 【AtCoder解説】PythonでABC250のA,B,C,D,E問題を制する!
- 4. 【Python】ezdxfを使ってみよう#3~レイヤー・dxfattribs 図形の属性・描画の補足編~
- 5. python3でAtCoderに取り組んだ時に得た実装上のtips
- 6. Amazon Linux2にPython 3.8をインストール
- 7. 【Python】PyScriptで、HTMLにPythonを書き込む
- 8. docker-containerでmongodbにpymongoから繋ぐまで
- 9. Python3エンジニア認定基礎試験合格体験記
- 10. 非エンジニアのPython忘備録的ブログ
- 11. pythonでゲーム作成 pygame基礎
- 12. 『Python2年生 スクレイピングのしくみ』で勉強中(その2)
- 13. AtCoderで役立つPythonイディオム集
- 14. Pythonの変数変更時の挙動
- 15. 初めてQiskitを使ってからQiskitで量子機械学習ができるようになるまで 〜パート4〜
- 16. Python3: GitLab API の使い方
- 17. 初めてQiskitを使ってからQiskitで量子機械学習ができるようになるまで 〜パート3〜
- 18. Invalid JSON Keys cannot be empty or contain $#[]./【Firebase Realtime Database】
- 19. Atcoder B – Palace
- 20. 医療情報技師の過去問サイトを爆速で作った話【Python/PHP】
seleniumでリンク(aタグ)をクリックできないときの対処
## やりたいこと
seleniumを利用してのウェブスクレイピング。
リンクをクリックしてリンク先へ遷移したいだけなんです。## できなかったこと
ターゲットとする要素を、文字列指定で特定し、クリック。
しかし、何も起こらず、静かに時を刻むだけ・・・“`python:
from selenium import webdriverbrowser = webdriver.Chrome((r’C:\Users\[ユーザ名]\chromedriver.exe’)
browser.get([目的のURL])element_target = browser.find_element_by_link_text([ターゲットとする文字列])
element_target.click()
“`
念のため[find_elements_by_link_text]で検索し要素数を確認しても1つだったため、別のお門違いのリンクをクリックしているわけでもなさそう。「aタグからjavascriptを実行させる」ようになっている場合は、クリックが動作しない場合があるようですが、今回はそのよう
djangoを使ったAPI開発を理解する[part1 目的の整理と環境構築]
諸事情でDjango-rest-frameworkを使えるようになることになったため、その過程を残していきます。
タイトルに`目的の整理と環境構築`としていますが、先に環境構築の内容を書きます。
目的の整理は気になったらこの記事の後半部分の前提項を見てください。## 環境構築
### 作業する環境
今回の記事を書くにあたり使用した環境はこちら
“`
okapi@MBP01 ~ % sw_vers
ProductName: macOS
ProductVersion: 12.3.1
BuildVersion: 21E258okapi$ docker –version
Docker version 20.10.5, build 55c4c88okapi$ docker-compose –version
docker-compose version 1.28.5, build c4eb3a1f
“`
今回は`docker-compose`を利用して端末上のpythonは利用しない方針で進めます。
### 元にするdocker-compose.ymlの作成
まずはdocke
【AtCoder解説】PythonでABC250のA,B,C,D,E問題を制する!
**ABC250**の**A,B,C,D,E問題**を、**Python3**でなるべく丁寧に解説していきます。
ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。
– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増えるご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!
**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM**
【Python】ezdxfを使ってみよう#3~レイヤー・dxfattribs 図形の属性・描画の補足編~
この章では図形の属性や設定などをまとめます。
[前章はこちら:#2~図面描画編~](https://qiita.com/Rai-see/items/eb74fcbac53f6a749355)
1. **layer:レイヤーの作成と指定**
1. **color:色**
1. **線幅**
1. **線種**
1. **点の種類・大きさ**
1. **文字列の属性**
1. **ハッチングのパターン**## layer:レイヤーの作成と指定
### レイヤーの作成
“`Python:layers.add
doc.layers.add(name=”mylayer”,
color=7,
linetype=”DASHED”,
lineweight =20
)
mylayer.lock() #ロックする
mylayer.unlock() #ロック解除する
mylayer.on() #表示する
mylayer.off() #非表示にする
“`
colorやlinetypeなどレイヤーの設定ができます。
後述するdxfattribsと異なり、**”col
python3でAtCoderに取り組んだ時に得た実装上のtips
2021/10/17以降AtCoderのコンテストに参加しています。言語はpython3で挑んでいるのですが、その時に得た「こう実装すれば速度を落とさずに実装できる」というTipsを紹介します。
ちなみにAtCoderとは日本発祥の競技プログラミングサイトです。
https://atcoder.jp/home以下に3つまとめていますが、また気づきがあったら追加します。
## 1. ベタなキューを使うときは配列[]やqueue.Queue でなく collections.deque を使うこと。
AtCoderでは(というより競技プログラミングの問題全般で)キューを使って解く問題が結構頻出するのですが、これは確実に collections.deque を使った方がいいです。
理由は
– 配列[] は先頭pop に配列の長さ分の計算量がかかる。
– queue.Queueの先頭pop は $O(1)$ で配列[]より速そうだが、同期のためのlockが効いているのか?dequeよりも遅い
- https://docs.python.org/ja/3/library/queue
Amazon Linux2にPython 3.8をインストール
“`shell
# インストール
sudo amazon-linux-extras install -y python3.8# 確認
python3.8 -V# venvで仮想環境構築
python3.8 -m venv py38# activate(有効化)
source ~/py38/bin/activate# deactivate(無効化)
deactivate
“`
【Python】PyScriptで、HTMLにPythonを書き込む
# はじめに
AnacondaがリリースしたPyScriptというフレームワークはHTMLにPythonを書き込むことができます。
この記事ではちょっとだけ試してみたいと思います。# 1. PyScriptをインポートする
“`html
“`
二行のコードだけでPyScriptが使えるようになります。# 2. 基本の使い方
Pythonを書き込むために、
“`html“`
というタグが必要です。それでは、簡単に定番のHello World!をやってみましょう。
docker-containerでmongodbにpymongoから繋ぐまで
“`html:helloWorld.html
# TL;DR
ローカルでpymongoの動作確認するためのdocker-composeを作成した。
`docker-compose.yml`をローカルに保存して、upした後下のexecからのフローでpymongoの簡単な確認ができる。
“`bash
docker-compose up -d
docker-compose exec app /bin/bash
“`
“`docker-compose.yml
version: ‘3.7’
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
– 27017:27017
volumes:
– ./db:/data/db
– ./configdb:/data/configdb
networks:
– d
Python3エンジニア認定基礎試験合格体験記
## はじめに
この記事ではPython3エンジニア認定基礎試験に合格するまでの勉強方法について書いています。
私自身プログラミング未経験で合格しましたので、同じような方の参考になればと思います。## 勉強教材
書籍
[Pythonチュートリアル 第3版](https://www.amazon.co.jp/Python%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB-%E7%AC%AC3%E7%89%88-Guido-van-Rossum/dp/4873117534/ref=sr_1_33?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=CJ1LMPIX81LF&keywords=python+%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB&qid=1651982403&sprefix=python+%E3%83%81%E3%83%A5%E3%83%BC%E3%83
非エンジニアのPython忘備録的ブログ
# Python3.10.4への更新とPySimpleGUI
## 初めに
### 環境
・使用しているPC:macbookAir
・OS:macOS
ここではPython3.9.7からPython3.10.4への更新とそれに伴ってPySimpleGUIが使えなくなったことについて解決した話を載せます。# Python3.10.4へ新しいバージョンのPythonをインストールしたら使えなくなった!?
## 経緯
macbookairにインストールしたPython3.9.7が古いのか、ターミナルコマンドで**2022.10.4 is available**のような表記が出たのでPython3.10.4をインストールしました。そして気になったことが一つ…。
PySimpleGUIをインストールしていたけどバージョンが違っていても使えるのかな?と。
そしてPySimpleGUIをインポートするコードが記載されたファイルをPython3.10.4で開いてみるとやはり使えませんでした。## 解決
これは単純にもう一度Python3.10.4がある状態でPySimpleGU
pythonでゲーム作成 pygame基礎
## 仮想環境作成
“`
python -m venv game
.\game\Scripts\activate
“`
## ライブラリインストール
“`
pip install pygame
“`## 初期化
“`python
import pygame
pygame.init()
“`
ライブラリインポートし、初期化する。## 画面を表示
“`python
import sys
import pygame
from pygame.locals import QUITpygame.init()
screen = pygame.display.set_mode((600, 400))def main():
while True:
pygame.display.update()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exi
『Python2年生 スクレイピングのしくみ』で勉強中(その2)
## この記事について
『Python2年生 スクレイピングのしくみ』(以下、書籍)でPythonを学習する超初心者の記録です。
とりあえず、書籍を最後まで進めたので、その記録として記事を書いています。先に書いておきますと、今回はこれまで以上に内容がないです……
これまで保留にしておいた事項を調べるなどして、ボリュームを増やそうかとも思いましたが、付け焼き刃感があるのでそのままにしました。■ バックナンバー
・[『Python1年生』で勉強中(その1)](https://qiita.com/megrim_q/items/c1417f507e96c1fb7015)
・[『Python1年生』で勉強中(その2)](https://qiita.com/megrim_q/items/333be033e5b4637d0eed)
・[『Python1年生』で勉強中(その3)](https://qiita.com/megrim_q/items/904f83c6a7e8594b7212)
・[『Python2年生 スクレイピングのしくみ』で勉強中(その1)](https://qiita.co
AtCoderで役立つPythonイディオム集
# はじめに
[AtCoder](https://atcoder.jp)は、おおよそ週に1回程度プログラミングコンテストが開催されている日本最大規模の競技プログラミングコンテストサイトです。特に初学者には学習コストが比較的小さいためにPythonがおすすめされがちです。
本記事では、Pythonでのコーディングが楽になる、標準ライブラリや組み込み関数によるイディオムを紹介しています。あくまでイディオムを集めたものであり、アルゴリズムのPython実装は取り扱いません。# 頻出度 高
## 逆順にする
“`python
L = [1, 2, 3, 4]
reversed_L = L[::-1]
print(reversed_L)>> [4, 3, 2, 1]
“`### 解説
スライスを利用することで、スタート、エンド、ステップを指定することができますが、ステップに負数を指定することで、逆順を実現できます。また、以下のコードはほぼ等価です。
“`python
list(reversed(L))
<=> L[::-1]
“`## リストの連続する2つのイテレー
Pythonの変数変更時の挙動
# Pythonの変数の参照について
変数の参照を調べると下記の記事を発見した。
https://qiita.com/ponnhide/items/cda0f3f7ac88262eb31e結論は記事にある通りで自分の環境でも再現できたが、仕組みが理解できなかったので、調べてみた。
>長々と書いたけど、つまり、
変数に新たなオブジェクトそのものが代入されるときには、これまでの参照先から変わって新たなオブジェクトが作られた場所を参照するようになる。
で実務的には問題ないはず。# ミュータブルとイミュータブル
Pythonのオブジェクトには、ミュータブルとイミュータブルの2種類あり、これを理解できれば変数変更時の挙動の仕組みを理解できる。
公式を見ると、[ミュータブル](https://docs.python.org/3/glossary.html#term-mutable)とは、
>Mutable objects can change their value but keep their id().とある。ここで `id()` はオブジェクトのIDを返す。したがって、`id(
初めてQiskitを使ってからQiskitで量子機械学習ができるようになるまで 〜パート4〜
# QSVMによる2値分類
量子機械学習の本題に入りましょう。今回は、量子SVMによって2値分類がどのように行われるかを見ていきます。前回のおさらい(パート3)は[こちら](https://qiita.com/Hiroki_Akita/items/941b0ec4eef0f36cadc1)から。
## 肩慣らしの準備
前回の機械学習で忘れてしまいがちですが、QiskitをColabで使えるようにしましょう。早速前回ちょこっとだけ登場した “Qiskit Machine Learning” をインストールしてみましょうか。“`python
!pip install qiskit
!pip install qiskit[visualization]
!pip install qiskit-machine-learning
“`そしてまた必要(そう)なモジュールのインポートをしていきましょう。
“`python
import numpy as np
from numpy import pi
import math
import matplotlib.pyplot as
Python3: GitLab API の使い方
トークンとプロジェクトID の設定
“`text:.env
PERSONAL_ACCESS_TOKEN=glpat-xxxxxx
PROJECT_ID=”35195199″
“`プロジェクトのメンバーの取得
“`py:get_members.py
#! /usr/bin/python
#
# get_members.py
#
# May/06/2022
# ——————————————————————
import os
import sys
import json
import requests
from dotenv import load_dotenv
# ——————————————————————
dotenv_path = ‘.env’
load_dotenv(dotenv_path)
token = os.environ.get(“PERSONAL_ACCESS_TOK
初めてQiskitを使ってからQiskitで量子機械学習ができるようになるまで 〜パート3〜
# 機械学習に挑戦
いよいよ機械学習の内容に絡めていきましょう!今回は学ぶことも多く、いきなりやるのも酷なので、少しアイスブレイクを入れましょうか。前回のおさらい(パート2)は[こちら](https://qiita.com/Hiroki_Akita/items/37c6b503a533530cce18)から。
## イントロダクション
量子コンピュータは、ノーベル物理学賞を受賞していることでも有名な物理学者ファインマンが、「自然現象は量子力学の原理に従っているのだから、自然現象をコンピュータでシミュレーションしたければ、量子力学の原理に従ったコンピュータが必要だ」と提示したことで、量子力学の分野の科学者ドイチュが先陣を切って始めたものだと言われています。その名の通り、量子と呼ばれるミクロな物質の挙動を参考に作られているわけですが、果たして一体どのようなものか、なるべくわかりやすく説明をしてみようと思います。
そもそも量子とは、非常に小さな粒子のことを指し、例えば酸素分子やその構成単位の酸素原子、またそれを構成する電子、陽子、中性子などがあります。他にも光を波ではなく粒子とし
Invalid JSON Keys cannot be empty or contain $#[]./【Firebase Realtime Database】
**無効なJSON キーを空にすることはできません。また、キーに $#[]./ を含めることはできません**と表示されたため備忘録
`$#[]./`をエンコードすることで保存できた
### JavaScript
“`javascript
const encodeKey = s => s.replace(/[\.\$\[\]#\/%]/g, c => ‘%’ + c.charCodeAt(0).toString(16).toUpperCase())
const decodeKey = s => s.replace(/%(2E|24|5B|5D|23|2F|25)/g, decodeURIComponent)const obj = {‘.$[]#/’: ‘hoge’}
saveAsJSON(Object.fromEntries(Objec
Atcoder B – Palace
## 問題
https://atcoder.jp/contests/abc113/tasks/abc113_b## 回答
“`Python
N = int(input())
T,A = map(int,input().split())
H = [int(i) for i in input().split()]ans = 1
dis = 0
list = []for i in range(N): #それぞれの地点からの差分を計算する。
dis = abs(T – H[i] * 0.006- A)
list.append(dis) #配列に格納。
ans = list.index(min(list))+1 #配列の中で一番小さいindexに、1を足したものが答え。一番小さい値の順番に1を足した数が答えとなっている。print(ans)
“`## ポイント
個人的には“`ans = list.index(min(list))+1“`の部分。
医療情報技師の過去問サイトを爆速で作った話【Python/PHP】
# 背景
作成した医療情報技師の過去問サイトは以下です。http://homebit2019.php.xdomain.jp/
医療情報技師の資格試験が8月にあり、過去問の勉強しようと過去問サイトを探していたが、なかなか良いWebサイトがない。。。
以下のWebサイトを見つけたが、いくつか問題点があって、自作でWebサイトを作ることにしました。
https://iryoujyouhou.wiki.fc2.com/wiki/トップページ
# 問題点について
[背景](#背景)で述べた問題点についてですが、以下となります。
### 1. 問題の正解不正解を記録してくれない
自分が今何問正解しているのかを毎回紙にメモするのが面倒でした。
合格基準を満たしているか確認するために正答率も出したかったので、システム側で記録して欲しかった。。。### 2. スマホ画面だと解答が丸見え
![]()
関連する記事
OTHERカテゴリの最新記事
-
- 2023.09.28
オープンソース調べOSS 2023年09月28日
-
- 2023.09.28
iOS関連のことを調べてみた2023年09月28日
-
- 2023.09.28
Python関連のことを調べてみた2023年09月28日
-
- 2023.09.28
Ruby関連のことを調べてみた2023年09月28日
-
- 2023.09.28
Rails関連のことを調べてみた2023年09月28日
-
- 2023.09.28
Python3関連のことを調べてみた2023年09月28日