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

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

ABC175やってみた(個人的備忘録)

最近競プロを始めて、せっかくだからコンテスト参加しようと思ってたのに忘れてたのでついさっきやりました。
Cまではできました。

#A Rainy Season
こういうことですよね?

“`python
s=input()
if s==”RRR”:
print(3)
elif “RR” in s:
print(2)
elif “R” in s:
print(1)
else:
print(0)
“`

#B Making Triangle
ソートして全探索で間に合うと思ったのでそうしてみました。
3つずつ切り抜いてからソートとどっちが早いんでしょう。私はよくわかってません。

“`python
n=int(input())
l=sorted([int(i)for i in input().split()])
ans=0
for i in range(n-2):
for j in range(i,n-1):
for k in range(j,n):
if (l[i]!=l[j]and l[j]!=l[k]

元記事を表示

【Python】配列内の要素を全て結合

Pythonでスクレイピングを勉強しています。1ページごとの値を取得したかったのですが、class名などが被りいらない値まで取ってきやがりました。そこで今回は、「1ページ毎の配列をとりあえず全部結合させて、正規表現でいる部分だけ略奪作戦」をやっていきたいと思います。

## 工程

1. 配列内の要素を全て結合させる
1. 結合させたやつに、正規表現をかける
1. 正規表現にmatchした部分だけ採取

この**Japan**だけが欲しい

“`py3
list = [‘非表示’, ‘非表示’, ‘非表示’, ‘非表示’, ‘非表示’, ‘Japan’, ‘非表示’]
“`

## 配列内の要素を全て結合させる

“`py3
list_join = (”.join(list))
print(list_join)
# 非表示非表示非表示非表示非表示Japan非表示
“`

## 正規表現をかけ、いる部分だけ採取

“`py3
list_join = (”.join(list))
compile = re.compile(‘[a-zA-Z]+’)
print(”.join

元記事を表示

Python3のvenvで仮想環境を作成するところまで

# Python3のvenvについて
## 参考
[仮想環境とパッケージ](https://docs.python.org/3/tutorial/venv.html)
### 環境
– OS
– Windows10
– WSL2: Ubuntu18.04
– 言語
– anyenv
– pyenv
– python 3.8.5

## 導入
[Introduction](https://docs.python.org/3/tutorial/venv.html#introduction)

– Pythonで自己完結型のディレクトリツリーを作成すること。
– ディレクトリごとにモジュールを独立させること。

## 仮想環境の作成
– venvは通常、入手可能な最新バージョンのPythonをインストールします。
– (pyenvなどを使用することによって)システムに複数のバージョンのPythonがある場合は、任意のバージョンを実行して特定のPythonバージョンを選択できる。
– 仮想環境を作成するには、それを配置する

元記事を表示

はじめてのPython3 ~繰り返しのはじまり編~

# はじめに
注意点などは[こちら](https://qiita.com/kashun0410/items/4113051964d5a1cd0bb5)を参照してください。

# 繰り返し処理
歴史は繰り返される。
単純なプログラムも繰り返させよう。
## for inによるループ処理
単純な繰り返しの処理。

“`
for カウンタ変数 in 繰り返す範囲:
繰り返し処理
“`

※ コロンを忘れぬようお気をつけて

#### 例
“`
for i in range(3):
print(“hello world”)

“`
============
※ 実行結果

hello world
hello world
hello world

============

#### 繰り返す範囲の range 関数
range 関数は引数に指定した開始数から終了数までの連続した数値を要素として持つ range 型のオブジェクトを作成する。
※ range(a,b,x):a に指定した数値から順に b に指定した数値だけ足していき、 x に指定した数値を超えない範

元記事を表示

AtCoder Beginner Contest 175 B問題「Making Triangle」解説(C++,Python3,Java)

Ruteです。

AtCoder Beginner Contest 175 B問題「Making Triangle」の解説を行います。

>問題URL:
https://atcoder.jp/contests/abc175/tasks/abc175_b

#問題概要
$N$本の棒のうち、三角形を作ることのできるような長さの異なる$3$本の棒を選ぶ方法は何通りあるかを求めよ。

##制約
・$1 \leq N \leq 100$
・$1 \leq L_i \leq 10^9$
・入力は全て整数

#解法
ans = 0と初期化しておきます。
以下の様な繰返し処理を実装すれば良いです。
・以下の繰返し処理を$(0,n)$の範囲で行う(カウンタ変数を$i$とする)
 ・以下の繰返し処理を$(i+1,n)$の範囲で行う(カウンタ変数を$j$とする)
  ・以下の繰返し処理を$(j+1,n)$の範囲で行う(カウンタ変数を$k$とする)
   `L[i] == L[j]である` or `L[i] == L[k]である` or `L[j] == L[k]である`を満たしているかを判定す

元記事を表示

AtCoder Beginner Contest 175 A問題「Rainy Season 」解説(C++,Python3,Java)

Ruteです。

AtCoder Beginner Contest 175 A問題「Rainy Season」の解説を行います。

>問題URL:
https://atcoder.jp/contests/abc175/tasks/abc175_a

#問題概要
`”R”`が最大何文字連続しているかを出力しなさい。

##制約
・ $|S| = 3$
・$S$の各文字は`’S’`または`’R’`である

#解説
ls = []と定義します。
$S$を文字列として受け取ります。
now = 0とします。 これは後で利用します。
以下の様な繰返し処理を行います。
・もし`S[i](Sのi文字目)`が”R”だった場合
  now に1を加算します。
・そうでない場合
  lsにnowの値を挿入し、nowの値を0とします。
最後に、lsに繰返し処理が終わった後のnowの値を挿入します。
lsにある数のうち、最大の数が答えなのでこれを出力すれば良いです。

もしくは、制約がかなり小さいので、全ての文字列について`’R’`が何文字あるかどうかをあらかじめ計算して、条件分岐でその都度出力してもよさそう

元記事を表示

医者がAtCoder参加してみた

AtCoder Beginner Contest 175
に参加しました。
Pythonで、B問題だけAC(解けた)、結果は7000番台

#全体の感想
ABCはこれはトレーニングすればいけると思いました。
B問題を15問勉強して望んだのですが、
ABCが完答できるだけで、1400番台ですので、しばらくはABCの完答を目指してトレーニングします。

#A
2^3=8パターンしかないから、全てを探索すればいいじゃんと、
if:
elif:
else:
の構文がなぜか機能せず、エラーを吐いてしまいます。。。。解けず。

#Aから学習したこと
“print()をelifの間に置けば、バグチェックできる”ことに気付きました

#B#
問題覚えていませんが(30分前なのに、、、)、なんか全部探索したらできました。
三角形の成立条件は忘れていて、直角三角形の成立条件で思案してたのが時間を食いました。

#Bから学習したこと#
for
 条件
 for

って感じで並べないとダメなのね。
文法わからないんですよねえ

#C#
さらっと書いたら、小さい数字ではすぐ成立したが大

元記事を表示

競プロメモ Python編(便利な機能や手抜き方法)

# 小数点計算にはDecimalを使う

競プロで浮動小数点の罠系の問題が出る場合、Python以外にも解ける解法があるはず。という点は留意しておこう。ただし、何も考えずに高い精度が出せるPythonのDecimalは便利だ。

尚、Pythonといえど、普通に使うと浮動小数点の罠は生じる。例えば、0.35を小数第一位まで四捨五入したいが以下のように0.3となってしまうDecimalを使おう。quantizeは少し使う方が特殊で、以下のように”0.001″などの表示になるように四捨五入、切り下げ、切り上げをしてくれる。

“`Python
# 0.35: 0.3 になる!四捨五入してくれない
print(‘0.35:’, round(0.35, 1))

from decimal import Decimal
import decimal

# 標準的な使い方。Decimal同士の計算
x = Decimal(1) / Decimal(3) # 0.3333333333333333333333333333
print(type(x)) #

元記事を表示

【Python】Djangoプロジェクトに UIKit3 を導入する

#はじめに
DjangoプロジェクトにCSSフレームワークである
**UIKit3** を導入していきます。

##UIKit3
[UIKit](https://getuikit.com/) は、CSSフレームワークの1つ。
知名度ではBootstrapやFoundationにはやや劣るものの
シンプルなデザインで人気のフレームワークです。

クラス名が`uk-`で始まるように統一されており、
他のCSSとコンフリクションが起きにくいのも良いポイントです。

##UIKitをダウンロード
ダウンロードは [こちら](https://getuikit.com/) から。

zipファイルを解凍して、
今回は下記の3ファイルを使用します。

>uikit-3.5.6/
> ├ css/
> │ └ uikit.min.css
> └ lib/
>   └ uikit-icons.min.js
>   └ uikit.min.js

※UIKitのバージョンは3.5.6

##staticディレクトリを作成
プロジェクトディレクトリ直下に`static`ディレクトリを作成し、
下記のようにフ

元記事を表示

Raspberry Piに現在時刻、天気予報を喋らせる

#初めに
もともと[ここ](http://raspi.seesaa.net/article/415530289.html)を参考に使っていたのですが、喋らなくなっていたので調べてみるといつの間にか「[livedoor 天気](https://help.livedoor.com/weather/index.html)」は終了していたみたいです。

というわけで代わりに使えるものがないかと探してみたところ”OpenWeathermap”がよさげだったのでこれを使うことにしました。
#事前準備

・下記の記事を参考にAquasTalkを利用した”atalk”コマンドを使えるようにしてください。
[raspberry piの音周り](http://nos.hateblo.jp/entry/20150218/1424217597)

・[OpenWeathermap](https://openweathermap.org/)にてアカウントを登録してAPIを取得してください。

#必要なモジュールをインストール
“`
pi@raspberrypi ~ $sudo pip install romk

元記事を表示

pip3のアップグレード方法

# 方法
これでうまくいきました.
`pip3 install –user –upgrade pip`

元記事を表示

『Effective Python 第2版』 第1章<Pythonic思考>

# はじめに
* はじめまして。takadowaといいます。Qiita記事を書くのはこれが初めてとなります。
* 私はPythonを使ってソフトウェア開発をすることが多く、Pythonを使い始めてもう8年目になります。
* そんな私でも[『Effective Python 第2版』](https://www.oreilly.co.jp/books/9784873119175/)を読んで初めて知ることが多々ありましたので、面白かったこと、大事だと思ったこと、初めて知ったことなどをまとめていきたいと思います。
* あなたのPythonソフトウェア開発の一助になれば幸いです。

# 実行環境
サンプルコードを掲載する際は、以下の実行環境で実行した結果を掲載します。
できる限りミスのない形で提供することを心がけますが、動かない、間違っているなどがありましてもご容赦ください。

* macOS 10.14.6
* Python 3.8.5

# 第1章<Pythonic思考>

## `import this`
みなさんは「The Zen of Python」をご存知ですか?
Pythonのイン

元記事を表示

Pandasによるデータ処理Tips

個人的忘備録も兼ね、Pandasによるデータ処理のTipsです。
ググっても引っかからなかったものを書き留めています。
どんどん追加していく予定です。
間違いや改善点等ありましたらお知らせいただけますと幸いです。

##まず見るべきはチートシート
和訳してくださった方に圧倒的感謝。
https://qiita.com/s_katagiri/items/4cd7dee37aae7a1e1fc0

##複数の変数に関数を適用し、返り値を別の変数に保存する。
例: x1の中に含まれる「@」の個数をcnt_x1に入れる、というのをx2,x3,…についても行う。
x1→cnt_x1, …, x13→cnt_x13

“`
migs = {‘cnt_x1’: ‘x1’, ‘cnt_x2’: ‘x2’, …, ‘cnt_x13’: ‘x13’}

for vars, mig in migs.items():
df1[vars] = df1[mig].str.count(‘@’)
“`

– keys(): 各要素のキーkeyに対してforループ処理
– values():

元記事を表示

Django Rest Frakework環境でAPIを作る時に入れておいたほうが良いライブラリ・vscode拡張等(初心者向け)

## 前提条件
python3前提

## 対象
フロントエンドがメインだけどDjango Rest FrameworkでなんとなくAPIを作ってみたい人
今までDjangoメインだったけどDjango Rest Frameworkに手を出したい人
Django Rest Framework環境で他の人がどんなライブラリを作っているか知りたい人

## PyPIライブラリ
### 優先度A ( 使わないとDXが大きく落ちる )
**flake8**
linter+formatterないと死ぬ

**autopep8**
pep8基準のオートフォマッターないと死ぬ

**drf-yasg**
Django Rest Frameworkで使っているシリアライザのリクエスト/レスポンスを元に
swaggerを自動生成するライブラリ。
必須。ドキュメントもしっかり読んでおいたほうがいい。
django-rest-swaggerは更新がされていないためこちらを推奨。
https://github.com/axnsan12/drf-yasg

**djangorestframework-camel

元記事を表示

【初心者必読!?】プログラミングを学ぶ際に躓く用語集

どうも!
三町哲平です。
夏真っ盛りで汗かきの私には中々大変な時期であります。

さて今回は、
私がプログラミング言語にPythonやRubyというものが存在すると初めて知ったぐらいの時期にWordにまとめていたメモがありましたので、多少修正して記事にしています。
プログラミング初心者が学習で躓く聞き慣れない用語のまとめです。

※ Pythonから学習を始めたのでPython関係の内容を中心にインフラ等の知識も含まれます。

# CRUD
データを操作する際に必要な最低限の機能のこと。

* 機能(Create)
* 参照機能(Read)
* 変更機能(Update)
* 削除機能(Delete)

参考及び引用元:https://wa3.i-3-i.info/word123.html

# CI/CD
「Continuous Integration/Continuous Delivery」の略で、日本語では継続的インティグレーション/継続的デリバリーという。

ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にしておく、ソフトウェア開発の手法

オンプレミス型

元記事を表示

【Django】Modelのテーブル名/カラム名を指定する方法

# はじめに
DjangoのModelで任意のテーブル名、カラム名を指定してデータベースにアクセスする方法について記載します。

# 環境
Django 3.0.x

# テーブル名
DjangoのModelは、「アプリケーション名\_クラス名」がデフォルトのテーブル名となります。
以下の例では、「アプリケーション名\_Employee」がテーブル名となります。

“`
from django.db import models

class Employee(models.Model):
first_name = models.CharField()
last_name = models.CharField()
“`

任意のテーブル名を指定する場合は、Modelの内部クラスMetaのメタデータオプションでテーブル名を指定します。

“`
from django.db import models

class Employee(models.Model):
first_name = models.CharField()
last_name = models.Cha

元記事を表示

e(ネイピア数)ーなぜを解決するー

ネイピア数って結構機械学習の勉強をしている際に出てくるため、現時点の理解でまとめておきます。
調べても数学の問題を解くための動画やサイトが多くてなぜ??使うか。なぜ??必要なのかという本質的な部分が見えてきていないのが正直なところです。

##ネイピア数を使う意味って何?
ネイピア数を使うことによって理想的な理論を表す際に使われる。
πなどと同じく超越数と言い、なんとなく使われるイメージ。。。。。
ここを理解するには、定義をおさらいする必要がありそうですが、僕はとりあえずあとで。。
youtubeで鈴木貫太郎さんが出していた動画がわかりやすかったのでおすすめです。

##ネイピア数って何
ネイピア数とは自然対数の底・超越数のこと。
性質としては、
;数値で表すと、2.71828182846
となります。

ちなみに幅広く機械学習で出てくるため抑える必要があるなと。。。

##現時点で必要かなと感じている数学的知識について
①指数関数
②二項定理
③ネイピア数の定義について などなど

内容薄いですが、今後更新していく予定です笑笑

元記事を表示

Pythonにおけるスコープ変数が理解できたのでまとめてみました

#Pythonにおけるスコープ変数
みなさんこんにちは、いつもご覧いただきありがとうございます。今回はスコープ変数の概念を説明していきながら、実際どのように使っていくか簡単にまとめようと思いますのでよろしくお願いします。

>**スコープ変数とは**
一言で表すとスコープと言うのは「範囲」のことです。もう少し付随して説明すると範囲変数ですね。

これから関数を用いたスコープ変数を書いていきますのでここからみていただければと思います。

###ソースコード①

“`
message = “hello Global World!!” <<グローバル変数 def index():ーーーーーーーーーーーーーーーーーーーーーーー |                    message = "Hello Local World!!" <<ローカル変数 |<<ここまで print(message) ーーーーーーーーーーーーーーーーーーーー| がローカル変数の範囲                        なのでグローバル変数とは同じ変数名でも別の変数になります

元記事を表示

Python3における基礎的な正規表現のまとめ

Pythonでの正規表現(re)について使用頻度の高いものをまとめました。

**※投稿者がMac環境のため\(バックスラッシュ)で表記されている部分がありますが、Windows環境の方は¥(えん)マークに読み替えてください。**

# 位置関係に関する正規表現
| 記号 | 説明 |
| :-: | :-: |
| ^ | 文字列の先頭からパターンに一致するかを判定 |
| $ | 文字列の末尾からパターンに一致するかを判定 |

# 繰り返しに関する正規表現
| 記号 | 説明 |
| :-: | :-: |
| ? | 0回または1回 |
| * | 0回以上 |
| + | 1回以上 |
| {m} | m回 |
| {m,} | m回以上 |
| {m,n} | m回以上、n回以下 |

# 文字制限に関する正規表現
| 記号 | 説明 |
| :-: | :-: |
| [0-9] | すべての数字 |
| [a-zA-Z] | すべてのアルファベット |
| [a-zA-Z0-9] | すべてのアルファベットと数字 |
| [^a-zA-Z0-9] | すべてのアルファ

元記事を表示

Python3: クッキーの使い方

こちらと同じことを、PHP で行いました。
[jquery-cookie の使い方](https://qiita.com/ekzemplaro/items/95706b030581cd7a63c5)
[Perl: クッキーの使い方](https://qiita.com/ekzemplaro/items/cbe00d47275db0f49ba0)
[PHP: クッキーの使い方](https://qiita.com/ekzemplaro/items/71843c6685025d215d49)

クッキーを送る

“`py:cookie_put.py
#! /usr/bin/python
#
# cookie_put.py
#
from http import cookies

C = cookies.SimpleCookie()
C[“message”] = “This is a Test.”
C[“aa”] = “富士山”
C[“bb”] = “谷川岳”
C[“cc”] = “阿蘇山”

print(C.output())
print(“”)
print(“”)

print(“Co

元記事を表示

OTHERカテゴリの最新記事