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

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

Codeforces Round #814 (Div. 2)のA, B, C問題をPythonで解く

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

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

– [初めに](#初めに)
– [コンテストへのリンク](#コンテストへのリンク)
– [Problem A Chip game](#problem-a-chip-game)
– [問題文](#問題文)
– [入力](#入力)
– [出力](#出力)
– [解法](#解法)
– [ACコード](#acコー

元記事を表示

0から始めるQISKIT#1 Pycharmで環境構築

# 概要
PycharmでQISKITを動作させるための環境構築を行う
# なぜやるのか?
QISKITの環境はJupyter Notebookを使っている記事が多く見える。
それでもPycharmでやってみたかった…
# 端末
何年まえのかわからないMacBookAir(メモリ4GB)
# 手順
QISKITの手順を調べると、しなくてはいけないことが仮装環境の作成とパッケージのインストールだったので、それぞれの手順をここに書いていく
## 1.PycharmでPythonプロジェクトを作る
ここに関しては割愛
## 2.仮装環境を作る
まずはメニューバーからPycharm→preferenceをクリック
![スクリーンショット 2022-08-18 0.23.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1785809/f2ac1a92-556b-372c-5cc0-1c797b4a9dc2.png)
プロジェクト:プロジェクト名を選択し、Pythonインタープリターを選択
![スクリーンシ

元記事を表示

Python: 試し割りで素因数分解してみた

[こちらの記事](https://qiita.com/ikiuo/items/f24952423be044a071e4)で へえ素因数分解ってこんな風にやるんだ って勉強になったものの、途中から理解力集中力が枯渇してきて読むのを早々にあきらめ、自分だったらどうするかなという体で書いてみました。

“`py:
from math import sqrt

def primables():
yield 2
yield 3
yield 5
n = 5
while True:
n += 2
yield n
n += 4
yield n

def factors(num):
n = num
limit = sqrt(num)
base_gen = primables()

while n != 1 :
base = next(base_gen)
exponent = 0

while n

元記事を表示

【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が使えるかどうか確認が必要でしたので、次の通り試しました。
(RTX2080+i7のマシンを持っていますが、ColaboratoryProより全然速いです(T_T))

# 結論 : 負担が増えるがSSHが利用できたとき通りに
1. 結論的:LocalPCで.pyで開発して,Colabo上で実行させる問題は無い。
1. 変更を要するかもしれない点
1. [PoetryがColabo上で使えない](https://qiita.com/slave/it

元記事を表示

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

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

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カテゴリの最新記事