- 1. Twitterのポジティブ/ネガティブな言葉だけでワードクラウドを作成する
- 2. お題:標準出力 【難易度★★★★★】
- 3. プログラミングができるようになりたい!
- 4. pythonで挿入ソートを実装してみた
- 5. python3でAPIをコールする。
- 6. ファイルを読み込んで書き込む
- 7. ファイルを書き込んで読み込む
- 8. seek
- 9. ファイルの読み込み
- 10. [Python]Pythonとセキュリティ – ①Pythonとは
- 11. COTOHAで感情を読む
- 12. ModuleNotFoundError: No module named ‘mysql.connector’; ‘mysql’ is not a package?
- 13. python初心者がIT企業にインターンしてみた[2日目 チャットボット調査]
- 14. ファイルの作成
- 15. Slack APIでリクエストを検証する。を実装してみる。
- 16. 【AtCoder用】標準入力メモ
- 17. PYthon3で線形探索&二分探索書いてみた
- 18. [1時間チャレンジ] 適当すぎる占いサイトをPythonで作ってみた
- 19. Python3かつvenv使用時にuWSGIをインストールする時の注意点
- 20. Python3とSeleniumとGoogle ChromeでWebページのスクリーンショットはSelenium-Screenshotが便利です
Twitterのポジティブ/ネガティブな言葉だけでワードクラウドを作成する
# 記事の内容
Pythonの勉強の一環としてTwitterAPI、ワードクラウド作成、単語のネガポジ判定などをやってみました。やったこととしては「転校少女」というキーワードと一緒にツイートされている言葉のうち、ポジティブな言葉(形容詞、動詞)のみを使ってWordCloudを作成しました。
※「転校少女」は転校少女*というアイドルグループの名前です。
アスタリスクまで付けると取得出来るデータが減るので今回は除外しています。ステップとしては以下の手順で作成しています。
1.TwitterAPIを使ってツイートデータを取得し、mongoDBに登録
2.日本語評価極性辞書をmongoDBに登録
3.ツイートの内容をネガポジ判定し、それぞれのWordCloudを作成# 1.TwitterAPIを使ってツイートデータを取得し、mongoDBに登録
早速ツイートを取得してみます。“` get_time_lines.py
import json
import config
from requests_oauthlib import OAuth1Session
from time
お題:標準出力 【難易度★★★★★】
標準出力で`Sh1ma`を出力してください。ルールは以下の通りです。
– コード中に文字列(`””`, `”`)を含んではいけない
– コード中に数値を含んではいけない
– `chr`, `ord`の禁止できる方はどうぞ。
プログラミングができるようになりたい!
はじめまして。賢治と申します。
私は今まで何回かプログラミングに挑戦していましたが、そのたびに挫折していました。
どうにかモチベーションを維持できないかなぁと考え、見つけたのがQiitaでした。
ここにプログラミングの学習記録を行い、今度こそ挫折しないように頑張ります。
あ、ちなみに言語はPythonです。今日の学習記録
print,if文“`python:qiita.rb
print(“Hello World”)
“`“`python:qiita.rb
word = input()
if word == “あいうえお”:
print(“aiueo”)
elif word == “かきくけこ”:
print(“kakkikukeko”)
else:
print(“sasisuseso”)
“`今回は以上になります。
ご指摘があればよろしくお願いします。
pythonで挿入ソートを実装してみた
pythonとアルゴリズムの勉強かねがね、挿入ソートを実装してみました。
1.ランダムなリストを作成する
例:
[4,2,3,0,1]2.一番左の値を取り出す
例:
[4,2,3,0,1]→4を取り出す3.4を操作完了にする(初回は比較対象がないので)
[2,3,0,1]→[4]→4は操作完了
4.また一番左の値を取り出す
[2,3,0,1]→2を取り出す
5.操作完了の値と比較して、今回取り出した値のほうが小さければ位置を入れ替える。
今回取り出した値のほうが大きければ、取り出した値を操作完了として次の数字を取り出してくる。[3,0,1]→[4,2]→4より2のほうが小さいので値を入れ替え→[2,4]→左端に到達したので2は操作完了
[0,1]→[2,4,3]→4より3のほうが小さいので値を入れ替え→[2,3,4]→2より3のほうが大きいので値は入れ替えず3は操作完了-すべての値が操作済になるまで5を繰り返す。
…という処理を挿入ソートと呼ぶらしいです。
“`
import random# 準備する値の数を入力
numbers = 10#
python3でAPIをコールする。
pythonの`urllib.request`モジュールを用いてAPIをコールするメモ。
# 下準備
* 適当なlambdaとAPI Gatewayを用意。
lambdaは受け取った`event`を返却するようにする。
“`python
import jsondef lambda_handler(event, context):
return {
‘statusCode’: 200,
‘body’: event
}
“`API Gatewayでは各種メソッド(GET、POST、PUT)を用意。
* メソッドリクエスト → APIキーの必要性`true`に指定。
* 統合リクエスト → lambda関数を指定。[APIのデプロイ]を実行し、URIを取得。(API Gatewayで何かの更新をしたのなら都度デプロイすること!でないと反映されない。←めっちゃこれハマる。)
[使用量プラン]から[作成]を選び、APIステージを選択、レート・バースト・クォータを設定、APIキーを作成する。
# 本題のAPIを叩くlam
ファイルを読み込んで書き込む
test.txtというテキストファイルの中身が、
AAA
BBB
CCC
DDD
である場合に“`py:
s = “””\
AAA
BBB
DDD
DDD
“””
with open (‘test.txt’, ‘r+’) as f:
print(f.read())
f.seek(0)
f.write(s)
“`“`:実行結果
AAA
BBB
CCC
DDD
“`でtest.txtというテキストファイルの中身は、
AAA
BBB
DDD
DDD
になる。r+は読み込み+書き込み。
なので、
もしも、test.txtがないと、
読み込みができず、
エラーとなる。
ファイルを書き込んで読み込む
“`py:1
s = “””\
AAA
BBB
CCC
DDD
“””
with open (‘test.txt’, ‘w’) as f:
f.write(s)with open (‘test.txt’, ‘r’) as f:
print(f.read())
“`“`:1の実行結果
AAA
BBB
CCC
DDD
“`これを
“`py:2
s = “””\
AAA
BBB
CCC
DDD
“””
with open (‘test.txt’, ‘w+’) as f:
f.write(s)
f.seek(0)
print(f.read())
“`
と書ける。
書き込んだ後はインデックスが最後になるので、“`py:
f.seek(0)
“`
で先頭に戻る必要がある。w+は、
書き込み+読み込み。“`py:
with open (‘test.txt’, ‘w+’) as f:
print(f.read())
“`
とすると、
まず書き込みモードになり、
一旦、空になり、
何も書き込まず、
読み込む事に
seek
“`py:
s = “””\
AAA
BBB
CCC
DDD
“””with open(‘test.txt’, ‘w’) as f:
f.write(s)with open (‘test.txt’, ‘r’) as f:
print(f.tell())
print(f.read(1))
f.seek(5)
print(f.read(1))
f.seek(14)
print(f.read(1))
f.seek(15)
print(f.read(1))
f.seek(5)
print(f.read(1))
“`“`:実行結果
0
A
B
DB
“`“`py:
print(f.tell())
“`
で現在地を出力“`py:
print(f.read(1))
“`
で現在地0から1文字を出力
これはAにあたる“`py:
f.seek(5)
“`
で現在地を5に移動させ、“`py:
print(f.read(1))
“`
で現在地5から1文字を出力
こ
ファイルの読み込み
“`py:1
s = “””\
AAA
BBB
CCC
DDD
“””with open(‘test.txt’, ‘w’) as f:
f.write(s)with open(‘test.txt’, ‘r’) as f:
while True:
line = f.readline()
print(line, end=””)if not line:
break
“`“`:1の実行結果
AAA
BBB
CCC
DDD
“`“`py:
with open(‘test.txt’, ‘w’) as f:
f.write(s)
“`
でtest.txtという中身が
AAA
BBB
CCC
DDD
であるテキストファイルが作成される。そして、
“`py:
with open(‘test.txt’, ‘r’) as f:
“`
でtest.txtの中身をfとして読み込み、“`py:
while True:
line = f.re
[Python]Pythonとセキュリティ – ①Pythonとは
#概要
Pythonは1991年に発表されたインタプリタ形式のプログラミング言語で、オランダ出身のプログラマ「Guido van Rossum(グイド・ヴァンロッサム)」によって開発された。
2020年1月を基準として最新バージョンは、Python2「2.7.17」、Python3「3.8.1」である。2008年の末から、Pythonは「バージョン2」と「バージョン3」に分かれて使用されている。Python2とPython3はお互いに互換ができないところも多いため、プログラムを作る際に、二つのバージョンのうち、一つ選ぶ必要がある。Python2は2020年4月に「2.7.18」が公開された後は公式な技術サポートは終了される。また、Python3から新たにサポートされるライブラリや脆弱性なども修正されているため、Pythonを習い始めようとしているのであれば、Python3をお勧めする。#Pythonのメリット
###容易性
Pythonの一番のメリットは簡単で、だれでもすぐプログラムが作れる容易性である。下記で「Hello World」を出力する例を、CとPython言語で作って
COTOHAで感情を読む
#はじめに
この記事は[【Qiita x COTOHA APIプレゼント企画】](https://zine.qiita.com/event/collaboration-cotoha-api/?utm_source=qiita&utm_medium=top_banner)に参加しています。~~プレゼントが欲しいです~~
#なにをするのか
COTOHA APIを使ってニュースの感情分析をしてしまおうという趣向の記事です(~~好きな子の感情を読むわけではない~~)将来的には株価などの増減を予測する際などに利用していければなと考えています。
#COTOHA APIって??
[COTOHA API](https://api.ce-cotoha.com/contents/index.html)とは、NTT Communications様が開発された日本語に特化した解析サービスです。日本語の自然言語処理をしたことがある方ならわかると思うのですが
**日本語は色々とめんどくさい**?
日本語解析の優秀なライブラリとしてはMecabなどもあるのですが~~丸投げできるならそっちの方が嬉
ModuleNotFoundError: No module named ‘mysql.connector’; ‘mysql’ is not a package?
# はじめに
Pythonを書き始めた頃に掲題のエラーに遭遇しました。
本記事を読むことで、Pythonモジュールについての理解を深めることができます。![mysql.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508680/f927d223-fa00-ffb7-862e-590326a82a9f.png)
Python3プログラム経由でMySQLに接続しようとした時、掲題の問題に出くわしました。
まず最初に、そのプログラムを実行する前に`mysql-connector-python` をインストールしていたことは確実でした。“`
pip3 install mysql-connector-python(For readability, added line feed to each row)
Requirement already satisfied: mysql-connector-python in /opt/pypy3.6-v7.1.1-osx64/site-packages (
python初心者がIT企業にインターンしてみた[2日目 チャットボット調査]
#チャットボットってよく聞くけど・・・?
今日も元気よく出勤したわけだが、メモを一日に尋常じゃないくらいするため、メモ帳を購入。それももう3分の1使ってしまった。なぜなら、このインターンは、何も教えてはもらえないのだ。その場で聞いたキーワードを頼りに考えて行動しなくてはならない。メモ帳をトイレットペーパーくらい消費するのはこの世で俺だけなのでは?##ヒアリングの前のヒアリング?
昨日は開発工程について学んで、要件定義書を作ろうとしているのだが、ヒアリングはその最初の段階の工程
である。顧客にどういう目的で、どういう人をターゲットに・・・。説明がややこしくなるので簡単にいうと、5W2Hを聞くのである(who,what,which,where, why, how, how much)。しかし、今日したのはヒアリングではない、ヒアリングである。????。つまり、予め漠然としたことを聞いて、作りたいものをこちらから提案して初めてヒアリングができるのである。業務フローを作るためにもこれは大事な工程である。
ヒアリングで聞いたことは、思いの外漠然としていた。とりあえず、社内情報を全文検索できる
ファイルの作成
“`py:
f = open(‘test.text’, ‘w’)
f.write(‘test test test\n’)
print(‘This’, ‘is’, ‘test’, sep=’#’, end=’!’, file=f)
f.close()
“`“`:実行結果
test.textとういうファイルが作成されて、
中身は、test test test
This#is#test!となる。
“`
Slack APIでリクエストを検証する。を実装してみる。
## やりたいこと
HTTPリクエストが、Slackからのリクエストなのか確認する
[Slackからのリクエストを検証する](https://api.slack.com/docs/verifying-requests-from-slack)## AWS周り
API Gatewayを使っていたのでHTTPヘッダを編集
**POST->メソッドリクエスト->HTTPリクエストヘッダー**
**POST->統合リクエスト->HTTPヘッダー**
# モチベ
AtCoderの過去問埋めでいつも忘れてしまう標準入力の備忘録## int2つ
“`python
N,Q = map(int, input().split())
“`
## 横多数 str
“`python
list = [s for s in input().split()]
“`## 横多数 int
“`python
l = list(map(int,input().split()))
“`## 縦N回 int
“`python
i = [int(input()) for i in range(N)]
“`## N×M int
“`python
l = [[int(i) for i in input().split()] for M in range(M)]
“`
PYthon3で線形探索&二分探索書いてみた
#線形探索
Pythonの***enumerate()関数***を使うと、forループの中でリスト(配列)などのイテラブルオブジェクトの要素と同時に***インデックス番号(カウント、順番)***を取得できる。
計算時間 ***O(n)***“`python
def linear_search(li,ans):
print(str(ans) + “を検索します”)
for i,data in enumerate(li):
if data == ans:
print(str(i)+ “番目にありました”)
break
else:
print(“入力した要素は存在しませんでした”)if __name__ == ‘__main__’:
li=[1,4,5,6,8,9,14,19]
print(“調べるリスト”)
print(li)
search_num = int(input(“上のリストから調べたい要素を入力
[1時間チャレンジ] 適当すぎる占いサイトをPythonで作ってみた
![適当すぎる占い.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324759/87722f3c-1240-5920-b07a-19692d2a562a.png)
# 適当すぎる占いサイト
少し前に、適当すぎる占いサイトを作ってみました。
作成後にちょこちょこ修正したりしましたが、作業時間は実質1時間くらいです。
## 使用した技術
使用した技術として、PythonのWebフレームワークであるBottleを使用しました。
データベースはSQLite3を用い、CSSフレームワークはBulmaを使用しました。
デプロイ先はHerokuです。
## データベースの作成
まず最初に、データベース(SQLite3)の作成を行いました。
データベース名は、database.dbとしてあります。
“`set_fortune.py
# -*- coding: utf-8 -*-import sqlite3
from contextlib import closingdbname = ‘
Python3かつvenv使用時にuWSGIをインストールする時の注意点
# はじめに
初投稿です。Pythonでwebアプリケーションを構築する際に用いるuWSGIのインストール方法に関する記事です。# 準備
OSはLinux、Mac。Windowsの場合は分からないです。
まず、Python3でvenvを建てる
`$ python3 -m venv ./venv`
アクティベート
`$ . ./venv/bin/activate`
pipのアップグレード(兼pipコマンドが通るか確認)
`(venv) $ pip install -U pip`
このまま普通にuWSGIをインストールしようとしても、おそらくエラーになるはずです。“`
(venv) $ pip install uwsgi
…(略)
No such file or directory
#include
^~~~~~~~~~
コンパイルを停止しました。
“`# 公式のドキュメンテーションをみる
[Installing uWSGI — uWSGI 2.0 documentation](https:
Python3とSeleniumとGoogle ChromeでWebページのスクリーンショットはSelenium-Screenshotが便利です
Python 3とSeleniumとGoogle ChromeでWebページのスクリーンショットを取得する方法の1つとして、Selenium標準の “`save_screenshot“` メソッドを使う方法がありますが、この方法の場合、指定されたサイズ(ウインドウサイズ)のスクリーンショットを取得することはできますが、Webページ全体のスクリーンショットを取得することはできません。
Googleで検索してみると、色々な方法がヒットしますが、最も簡単で、かつ再利用性の高い方法は、Selenium-Screenshotパッケージを使う方法です。Selenium-Screenshotパッケージを使用すると、簡単にWebページ全体のスクリーンショットや、HTML要素を指定したスクリーンショットを取得することができます。
## インストール
### 1.Python3のダウンロードとインストール
Windowsの場合は、下記URLよりインストーラーをダウンロードしてインストールする方法が簡単です。
https://www.python.jp/LinuxやMac, FreeBSDな