Python3関連のことを調べてみた2021年09月05日

Python3関連のことを調べてみた2021年09月05日

Pythonで強力なパスワードを作る

Pythonで強力なパスワードを作る方法を簡単に解説した。
パスワードの文字数を入力すれば複雑な文字列を生成できる関数を作って実装する。

自力でランダムに文字を組み合わせてパスワードを生成することもできるが、機会で無作為に作成したほうがはるかに効率的だろう。

# 半角英数字だけのパスワードを生成

Pythonなら次の10行近くのコードだけで複雑なパスワードを簡単に生成できる。

“`python
import secrets
import string

def get_random_password_string(length):
pass_chars = string.ascii_letters + string.digits
password = ”.join(secrets.choice(pass_chars) for x in range(length))
return password

print(get_random_password_string(10))
print(get_random_password_string(13))
p

元記事を表示

【Python】emojiモジュールについて

##インストール

“`
pip install emoji
“`

##動作環境

“`
python3 –version
# Python 3.9.6

pip3 show emoji
# Version: 1.4.2
“`

##絵文字の正規表現の取得 – get_emoji_regexp()
get_emoji_regexp()メソッドで絵文字判別のための正規表現を取得することができます。
これを利用することで文章中の?みたいな絵文字を消し去ることができます。

“`python
import re
import emoji

faces = ‘???ლ(´ڡ`ლ)???( ◜ω◝ )???’
print(re.sub(emoji.get_emoji_regexp(), ”, faces))

# ლ(´ڡ`ლ)( ◜ω◝ )
“`

YouTubeやTwitterなどから取得してきたテキストを色々いじくる前の処理として使うことができます。

##文字列内の絵文字の個数をカウント – emoji_count()

“`python
print(emoji.

元記事を表示

1から123の約数の和 python

####numを1から36までの自然数で割り算し、余りが0の場合に出力していきます。

“`
num = 123
a = []
for i in range(1, num+1): #1~123まで
if num % i == 0:
a.append(i) #配列に入れる

b = sum(a) #配列の総和
print(b)
“`

元記事を表示

leetcord python3 9. Palindrome Number(回文数)

###整数xが与えられた場合、xが回文整数の場合はtrueを返します。という問題

・回文数 「しんぶんし」のようにさかさに読んでも同じ文になる文を回分といいますが、12321のように逆さから読んでも同じ数になる数を回文数といいます。

####問題(翻訳)
整数は、前方と後方で同じように読み取られる場合、回文です。 たとえば、121は回文ですが、123はそうではありません。
例1:

入力:x = 121
出力:true
例2:

入力:x = -121
出力:false
説明:左から右に、-121と表示されます。 右から左に、121-になります。 したがって、それは回文ではありません。
例3:

入力:x = 10
出力:false
説明:01を右から左に読み取ります。 したがって、それは回文ではありません。
例4:

入力:x = -101
出力:false

制約:

-231 <= x <= 231-1 ####回答 文字を反対にしてもマイナスじゃないかを判定するということ。 一番重要なのは、[::-1]で後ろからに変換してくれる。 ``` class Soluti

元記事を表示

Python で半角スペース区切りの整数を受け取るときの典型的な書き方

#### Python で半角スペース区切りの整数を受け取るときの典型的な書き方

“`
N, M, K = map(int, input().split())
“`
・Python ではいくつかの変数を、リストを使ってまとめて初期化することができます。今回のように N, M, K = hoge と書くと、代入されるのが長さ 3 のリストであるとき、そのリストの 0, 1, 2 番目の要素がそれぞれ N, M, K に代入されます。

・N, M, K = map(int, input().split()) は Python で半角スペース区切りの整数を受け取るときの典型的な書き方のひとつです。右辺では input().split() の各要素に int関数 を適用しています。

“`
N, M, K = map(int, input().split())

for i in range(N):
a = [int(j) for j in input().split()]
ans = 0
for j in range(M):
if a[j]

元記事を表示

python3 多重ループ(記録)

##多重ループ
Cの配列の中からsの中で該当するものを判定する。
今回はforの中にforがあることと、inで文字列を確認することがポイント。

“`
m = int(input())

#[“”]文字列の配列を作成するため
c = [“”]*m

for i in range(m):
c[i] = input()

n = int(input())

s = [“”]*n

for l in range(n):
s[l] = input()

for i in range(m):
for l in range(n):
if c[i] in s[l]:
print(“YES”)
else:
print(“NO”)
“`

入力例2
2
c
d
2
cat
dog

出力例2
YES
NO
NO

元記事を表示

pythonフラグ管理 (記録)

##Python3の場合
“`python
n = int(input())

flag = False

for i in range(n):
a = int(input())
if a == 7:
flag = True
“`
まずは flag を False にしておき、a_1, …, a_n の中に 7 が見つかったときにはこれに True を再代入します。こうすることで、7 がひとつでもあった場合には最終的に flag の値は True となり、そうでない場合には False となります。

“`
if flag:
print(“YES”)
else:
print(“NO”)
“`

flag の値に応じて条件分岐し、flag が True のときには YES を、そうでないときには NO を出力するようにすれば OK です。なお、if文の条件文はそのブール値だけが見られるので、if flag == True: などとせずとも、 if flag: と書けば「flag が True のとき」という意味になります。

元記事を表示

OpenCV(python)をLambdaで動かす

すでに他の人が記事で書いているのですが、そもそもSAMについてよくわかっていなかったので自分の備忘録としてリンク集貼っておきます。

https://note.com/rooxim/n/n8631eb634167

AWSのインストール系リンク

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-mac.html

https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html

そもそもSAM使ってDeployすることを丁寧に書いてくれている記事

http://hack-note.com/infra/aws-sam-lambda-deploy/

元記事を表示

LeetCord(記録)python3

##1. Two Sum

“`
nums = [2,7,11,15]
target = 9
result = []
for i in range(len(nums)):
for j in range(i,len(nums)):
if nums[i] + nums[j] == target:
result = [i, j]
break;

print(result)
“`

##7. Reverse Integer
符号付き32ビット整数xが与えられた場合、桁を逆にしてxを返します。 xを逆にすると、値が符号付き32ビット整数の範囲[-231、231-1]の外に出る場合は、0を返します。

環境では64ビット整数(符号付きまたは符号なし)を格納できないと想定します。

“`python
x = 123

s = (x > 0) – (x < 0) #1(true)-0(false) r = int(str(x*s)[::-1]) y = s*r * (r < 2**31) #321*1(true) print (s)#1 print (r)#

元記事を表示

Python 3 UTCエポックから日本標準時変換

とある通信機器からUTCエポックを受信する機会があった。Python3での日本標準時への変換方法をPythonライブラリーリファレンスで調べた。

# 方法
変換方法は1つではないが、`datetime` モジュールとサードパーティーライブラリー `dateutil` パッケージを使用する方法がある。 `dateutil` は標準では無いので実行環境にない場合はインストールが必要。

# `dateutil` パッケージのインストールコマンド

“`
pip install python-dateutil
“`

# 変換コード

“`

from datetime import datetime
from dateutil import tz

utc_epoch = 1630557969 # UTCエポックの一例
time_zone = tz.gettz(‘Asia/Tokyo’)
jst_time = datetime.fromtimestamp(utc_epoch, time_zone)
“`

UTCエポックは少数部も含むが、ここでは`etc_epoch` に整数部だ

元記事を表示

python3 記録

##配列から数値に変換

“`python
n = int(input())

a = input().split()

print(a)
for i in range(n):
print(a[i])

“`

“`
print(a[i])
“`
これでリストから対象の番号を参照して1つずつ表示してくれる

##任意の文字列を含むか判定: in演算子

“`
a = input()
b = input()

if a in b:
print(“YES”)
else:
print(“NO”)
“`

元記事を表示

pythonのdataclassまとめ

# はじめに

dataclassの知見が溜まったので、書きたいと思います。

# dataclassとは

通常の場合

“`python
class DataClass:
def __init__(self, name, num):
self.name = name
self.num = num

dc = DataClass(‘tom’,3)
print(f’私の名前は{dc.name}、IDは{dc.num}です。’)
“`

“`console
私の名前はtom、IDは3です。
“`

dataclassの場合

“`python
from dataclasses import dataclass

@dataclass
class DataClass:
name: str
num: int

dc = DataClass(‘tom’,3)
print(f’私の名前は{dc.name}、IDは{dc.num}です。’)
“`

“`console
私の名前はtom、IDは3で

元記事を表示

python3 例外処理 (記録)

“`python
class MyExcepiton(Exception):
pass

def div(a,b):
try:
if (b < 0): raise MyExcepiton("not minus") print(a/b) except ZeroDivisionError: print("not by zero!") except MyExcepiton as e: print(e) else: print("no exception!") finally: print("計算が終了しました") div(10,-2) ``` https://uxmilk.jp/39845

元記事を表示

seabornのload_datasetを認証付きproxy環境下で読み込む場合

## はじめに
seabornには、機械学習や統計分析で有名なサンプルデータを簡単にロードするスクリプトが用意されていますが、proxy環境下ではうまく動かず、いちいちgithub等からダウンロードして手動で読み込ませなければならない場合があり、その時点で挫折してしまいそうになります。
もっと簡単にproxyを突破してダウンロードできるようにならないかと思い調べましたが、簡単に見つからなかったので自分のメモとして記載します。(こんなのにこまるようなヤツは自分しかいないから情報を見つけられなかっただけかもしれませんが…

## 解決方法
以下を冒頭に入れるだけです

“`py
import urllib.request
proxy = urllib.request.ProxyHandler(
{‘http’: “http://:@:“,
‘https’: “http://:@:“})
opener = urllib.reque

元記事を表示

AtCoder参加記録No.4ーABC216

#ABC216
今回参加したABC216についての参加記録

2021年8月29日(日)のAtCoder Beginner Contest 216でした。

https://atcoder.jp/contests/abc216

##結果

A,B問題を正解
レート:42→49 (+7) Highest!
順位:6145/ 7377
時間: A問題16:40 B問題25:41
パフォーマンス:101

##詳細

###A問題
[問題](https://atcoder.jp/contests/abc216/tasks/abc216_a)
今まで普通に解けていたので慢心したのが仇となった
提出コード(RE)

“`python:A問題_1.py
S=str(input())
ans=[]
Y=0
for i in range(4):
if S[i]==’.’:
Y=int(S[i+1])

if 0<=Y<=2: V='+' elif 3<=Y<=6: V='' elif 7<=Y<=9: V='+'

元記事を表示

ElementTreeでxml整形

“`python
import xml.etree.ElementTree as ET

tree = ET.parse(‘input.xml’)
ET.indent(tree, space=’ ‘)
tree.write(‘output.xml’, encoding=’UTF-8′, xml_declaration=True)
“`

python3.9からElementTreeにindent関数が追加されている
https://docs.python.org/ja/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.indent

元記事を表示

Python3 について strip()

#strip()について
括弧内の文字列を削除してくれる。何も入れないと空白を削除してくれる

“`
text=[‘あ い う え お’]
text.strip()
print(text)

‘あいうえお’
“`

#if name ==’__main__’:について
pythonをターミナルで呼び出す時、import 〇〇と呼び出すとそこで実行されてしまう。
それを防ぐために、nameで呼び出されても、mainに変換して実行しないようにしている。
このサイトがすごくわかりやすい

あと、ifの後に半角スペース入れ忘れてエラーになることが多かったので、
皆さんも気をつけてください。

“`
if __name__ == ‘__main__’:
main()
“`

元記事を表示

Column order changes results of XGBoost model prediction

In this short note I would like to share something I have myself learned only recently. Although this will be familiar to those
of you who are expert ML practitioners, to me this fact was highly counter-intuitive and costed my a few hours of debugging recently.
Therefore, I write this article more as a memo for myself.

So, here is the deal: **column order changes results of XGBoost prediction**. Let me explain what I mean with an example (the notebook is available at [Kaggle](https://www.kaggle

元記事を表示

言語処理100本ノック 2020をやってみる 第三章:正規表現 前編

#目的
下記のウェブサイトの言語処理100本ノックを行う.

https://nlp100.github.io/ja/

第一章

https://qiita.com/t-baba-11/items/f230136058a695c7c7d1

#第3章:正規表現
第二章はプログラムではないため割愛.

プログラミング言語はPythonを用いる.
jupyter notebookを使用しているので,出力にprint文が必要な場合は適宜追加する.

データのダウンロード

“`.py
import requests
url=’https://nlp100.github.io/data/jawiki-country.json.gz’
filename=’jawiki-country.json.gz’
urldata = requests.get(url).content
with open(filename ,mode=’wb’) as f:
f.write(urldata)
“`

###20. JSONデータの読み込み
Wikipedia記事のJSONファイルを読み込み,

元記事を表示

Aidemy Premium Planを受講して(振り返り)

###はじめに

Aidemy Premium Planを受講してできるようになったことを紹介したいと思います。
プログラミングに関心を持ち始めた方の参考になればと思い、ブログを書きました。
全くの初心者がどのくらいできるようになるのかの参考になれば嬉しいです。

ただ、実際のコードを書いたことがない方には、自分の書いたコードの詳細を理解するのは
難しいと思うので、始めようと思っている方はこういうこともできるのかという
なんとなくのイメージをついていただければ幸いです。

###自己紹介
自動車部品メーカーのエンジニアをしてます。
(新入社員から今の会社に勤めており入社8年目になります。)
業務では必要なかったのですが、将来的にプログラミングは必須のスキルになると考え、
Python言語での機械学習の勉強を始めました。

###プログラミングの学習経歴
2021年4月〜 ProgateでプログラミングのWeb開発を学び修了書を受領
2021年5月〜Aidemy Premium Planでデータ分析6ヶ月コースを受講しました。

###学習内容(Aidemy)
・Python入門
・Nu

元記事を表示

OTHERカテゴリの最新記事