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

Python3関連のことを調べてみた2022年08月17日
目次

【Python】6ケタの英数字が5ケタになってしまう問題をシミュレート

## 概要
職場でこんなトラブルに遭遇しました。
「英数字6ケタのパスワードが、5ケタで生成されており、エラーになった」

Pythonを使って、このエラーを再現してみました。

## 原因

「英数字6ケタ」で大量にランダム生成されたパスワード文字列のうち、ひとつだけ「数字のみ5ケタ」になっていました。
“012345”のように、先頭が0・残りが数字で生成されたため、Excelファイルでやりとりする際に先頭のゼロが省略されて”12345″になったようです。
(なんでmkpasswdのオプションで指定しないの…)

## 発生確率

この事象が起きる確率を計算してみます。

まず、ある1ケタの取りうる値は、[0-9, a-z]なので、10+26=36種類です。
つまり、0になる確率は、1/36。
一方、数字0-9になる確率は、10/36です。

今回の事象は、先頭1ケタが0・残りの5ケタが数字になる時なので、
(1/36) * (10/36) * (10/36) * (10/36) * (10/36) * (10/36)
= 0.0000459393658… となります。

パーセン

元記事を表示

SSHの使用を禁じられたColaboratoryへの想いは変わらず

# 前置き(急ぐ方はSKIP)

Google Colaboratory(以下、colabo)上でSSHの使用が禁じられてしまいました。
つまり、そのまま.pyでの実行が禁じられてしまったと判断します。
これからは、Colabo=Jupyterノートブックから開発コードを呼び出さねばならず、手間が増える事が懸念でした。

ColaboProを使用する前だったので、他の手段(別:HPC提供サービス)も検討しましたが、コスパではcolaboがよさそうです。
GPUマシンが壊れたり、買い替え先にNVidia-GPUが無い場合にはColaboが使えるかどうか確認が必要でしたので、次の通り試しましたが、

# 結論 : 十分使える
1. 結論的:LocalPCで.pyで開発して,Colabo上で実行させる問題は無い。
1. 変更を要するかもしれない点
1. [PoetryがColabo上で使えない](https://qiita.com/slave/items/172e5c6897dc4577e063)。
1. 私はrequirements.txtに切り替えた。
1. ソー

元記事を表示

ランダムフォレストは欠損値自動処理できないのでしょうか?

ランダムフォレストって欠損値があっても処理してくれると聞いたので、全く欠損値処理せずにデータをランダムフォレストで予測させたら、欠損値があるから予測できないといった感じのエラーが出ました。なぜでしょうか?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
data= pd.read_csv(‘/Users/app16/downloads/train.csv’)
data_x=data.drop([‘Id’,’SalePrice’],axis=1)
data_y=data[‘SalePrice’]

from sklearn.preprocessing import LabelEncoder
for i in range(data_x.shape[1]):
if data_x.iloc[:,i].dtypes == object:
a=LabelEncoder()
a.fit(list(data_x.iloc[:

元記事を表示

PoetryはColaboratoryで使えない??(2022.08現在)

– Poetryはgoogle Colaboratoryでは使えない様子。
– venv非作成モードで、packageのインストール箇所がわかれば、解決できる可能性はあるかもしれない。
– 解決策が分かる人がいたら教えていただきたい。
– 症状
– 一見、インストールも行われるのだが、vevn-pythonに切り替えられない
– 手動で無理やり使えるかもしれないが、再利用のたびにコード修正は対象外としているため。

## venvに切り替わらない
故に、折角パッケージをインストールできても、コードでvenvに切り替えて実行ができない

“`bash

# 期待通り表示される。このPATHを「手動」で指定してのvenv-pythonでのrunは可能だろう
!poetry env info –path

# 切替1: セルのrunが終わらない
!poetry shell

# 切替2: 処理にエラー表示されないが、次のwhich pythonでは/usr/local/bin/pythonを指し、venvのpyを差さない。
!source $(poetr

元記事を表示

【脱エンジニア初心者への道】動画で学ぶPython3エンジニア認定基礎試験(合格体験記)

# はじめに
はじめまして。

今回、Python3エンジニア認定基礎試験を800/1000点(合格点が700点)で合格することができたので、私の勉強方法について紹介したいと思います。

#### まず簡単に私の自己紹介と題して
◆新卒でエンジニアとして働いている
◆プログラミングの経験はこれまでなく文系大学出身でした

文系出身ですという言葉、事実ではあるのですが、言い訳みたいであまり好きではないんですよね、今後この保険をかけなくても胸を張って「職業エンジニアです。(ドヤッ)」とシンプルでかっこいい自己紹介ができるような技術を身に着けていきたいな~と思っております。

#
では、本題に戻りたいと思います。

タイトルにもある通り、私は主に動画教材を利用して試験勉強を進めていきました。

動画教材はスキマ時間に端末1つで簡単に勉強が出来たり、何を行うべきかわからないという方に非常におすすめできる勉強方法であると思います。

以下、順番に紹介をしていきます。

# ①試験日を決める
いきなり勉強方法じゃないのかよと思う方もいるかもしれませんが、まずはこちらから始めることをおすすめし

元記事を表示

コマンドライン引数をリストに格納し、出力してみた。

コマンドライン引数をリストに格納し、出力するプログラムを作りました。
使用例:
“`
yusuke@mbp 20220815 % python main.py “apple” “orange”
[‘apple’, ‘orange’]
“`
・解説
引数がない場合は、「引数を入力してください」と返されるようにしました。
コマンドライン引数は、文字列なので、リスト型に型変換しています。

・ソースコード
“`
import sys

def main():
args = list(sys.argv[1:])
if not args:
print(“引数を入力してください”)
sys.exit(1)

ex_lists = []
ex_lists.append(args)

for ex_list in ex_lists:
print(ex_list)

sys.exit(0)

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

元記事を表示

Codeforces Round #813 (Div. 2), A, B, C問題をPythonを使って解く

## 初めに
こんにちは。この記事では先日(2022/08/13)行われたCodeforces Round #813 (Div. 2)のA, B, C問題の解説をPython3を用いてしていきます。Codeforcesは解説がAtCoderほど十分にないこと、そもそもPythonを使って解いている人も少ないことから、自身の解法とコードを共有しようと考えました。解説はコンテスト中に解けた問題+1問のみとしています。宜しくお願いします。

### コンテストへのリンク
[Codeforces](https://codeforces.com/) \
[Round #813 (Div. 2)](https://codeforces.com/contest/1712)

– [初めに](#初めに)
– [コンテストへのリンク](#コンテストへのリンク)
– [Problem A Wonderful Permutation](#problem-a-wonderful-permutation)
– [問題文](#問題文)
– [入力](#入力)
– [出力](#出力)
– [解法

元記事を表示

VScodeでDjangoのライブラリが「Import XXX could not be resolved from source」になるとき

# 発生したこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1446396/4d29aa22-7578-29d9-ef5d-02fc90075fa1.png)
・URLの設定を記述する「urls.py」でdjangoのライブラリを使おうとするとVScodeがエラーを知らせてきた
・16行目「from django.urls」の部分で(黄色い波線)
`Import django.urls” could not be resolved from sourcePylancereportMissingModuleSource`
と言われている
# 問題の内容
・対応するソースファイルがないインポートに対する診断
・django.urlsがないってことらしい
# 仮説/前提条件
・仮想サーバーは立ち上げられるのでdjango自体が入っていることは間違いない
・djangoのモジュールを探す場所が違う
・importしなきゃいけない何かがある
# 解決方法
①表示→Command Palette

元記事を表示

DjangoFormsのファイル指定でvalidationする方法

【mui備忘録】
DjangoのFormsでCSVファイルのみを受け付ける方法。

1、CSVファイル以外のデータファイルが送られてきた際にValidationで通さない。
2、CSVファイル以外のデータファイルが送られてきた際にアラートを表示。

### forms.py
“`python

from django import forms
from django.core.validators import FileExtensionValidator

class UploadForm(forms.Form):
testfile = forms.FileField(
validators=[FileExtensionValidator([‘csv’])]#CSV指定
)

“`

### index.html
“`html

{% if form.errors %}

OTHERカテゴリの最新記事