社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

Python

Pygame マウスカーソル に合わせて Paddle が動く

def main(): # Initialize pygame screen pygame.init() screen = pygame.display.set_mode(GAME_RECT.size) pygame.display.set_caption("Game Title") # Create sprite group sprite_group = pygame.sprite.RenderUpdates() Paddle.containers = sprite_gr…

Pygame Zero スクリーン表示

#!/usr/bin/env python import os import sys import pygame from pygame.locals import * GAME_RECT = Rect(0, 0, 384, 384) def main(): pygame.init() screen = pygame.display.set_mode(GAME_RECT.size) pygame.display.set_caption("Game Title") while…

Python for ループ用のインデックス変数はループ処理後も有効

Java における for ループ用のインデックス変数(以下の例では i ) については、for ループ内でしか有効ではない。 for (int i = 0; i < 10; i++) { print(i); } Python における for ループ用のインデックス変数 (以下の例では idx) については、forループ…

pyxel Pyxel Editor を使ってみる

付属するPyxel EditorでPyxelアプリケーションで使用する画像を作成できます。 Pyxel Editor 以下のコマンドで起動します。 pyxeleditor [Pyxelリソースファイル]pyxeleditor snakeこのようなドットを一つ入れただけのファイルを作成してみます。 本体ソース…

pyxel ウィンドウ作成

Pyxel (ピクセル) はPython向けのレトロゲームエンジンです。 [pyxel公式](https://github.com/kitao/pyxel/blob/master/README.ja.md) import pyxel TILE_SIZE = 8 MAP_WIDTH = 29 MAP_HEIGHT = 23 class Snake: def __init__(self): pyxel.init( MAP_WIDTH…

python クロージャ

忘れた頃にまたやってくるクロージャ。 def charge(price): def calc(num): return price * num return calc child = charge(1000) adult = charge(1500) price1 = child(2) price2 = adult(2) print(price1) print(price2) クロージャでは関数の中に関数を…

Python CUIで迷路生成(3)

スタートとゴールの場所を指定するところまで。 set_start_goal ランダムに座標を指定し、そこが通路ならスタート”S”、またはゴール”G” をそこに設置する。 import sys import random class Maze(): PATH = 0 WALL = 1 START = 2 GOAL = 3 def __init__(self…

Python CUIで迷路生成(2)

内壁を生成するところまで。 棒倒し法により生成するが、その手順は 1. 迷路全体を構成する2次元配列を、幅高さ5以上の奇数で生成する 2. 迷路の外周を壁とし、それ以外を通路とする 3. 外周の内側に基準となる壁(棒)を1セルおき(x, y ともに偶数の座標)に配…

Python CUIで迷路生成(1)

外壁を生成するところまでのステップ。 __init__ 1. Maze(迷路) クラスを生成し、maze, width, height の変数を定義する ※第一引数で縦のサイズ(height)、第二引数で横のサイズ(width)を与えるset_outer_wall 2. row という配列にそのセルが壁なのか、通路な…

terminator(端末)が起動しなくなった except (KeyError,ValueError)

Ubuntu14.04 上でいつの間にか terminator が起動しなくなりました。 デスクトップ上のランチャーを叩いても、何の応答もありません。 仕方なく、他の端末(XTerm)を起動し、/usr/bin/terminator を直接実行してみたところ、以下のエラーが表示。 File "/usr/…

文字コードの歴史を少し知りたい

python のドキュメントですが、文字コードの歴史について書かれている部分がありました。 https://docs.python.org/2.7/howto/unicode.html文字コードと言えば、何も考えずに "UTF-8" でみたいなところがあって、正直よく分かっていません。歴史 ドキュメン…

Python 言語について 新しく知った 9つのこと

Python の初心者です。 Pythonによるデータ分析入門(第二版) の第二章に Python 言語について書かれていた内容から、自分にとって新しい発見が多かったので、それを列挙します。 既に Python を学んだことがある方にとっては、常識的な内容かと思います。1…

いまさら IPython を初めて使ってみる

いまさらですが、IPython は python のインタラクティブシェルを拡張したもので、タブ補完機能などが使えるみたいです。 Python for Data Analysis の本を読む機会があって、そこで初めて試してみました。起動 ipython コマンドで起動可能です。 実はインス…

ユーザー類似度の計算(協調フィルタリングの前段階) python

今回は Mario さん、Peach さん、Koopa さんに5つのゲームを遊んでもらい、それぞれに5段階点数で評価をつけてもらいました。 ※登場人物はフィクションです その結果が以下です。 data.py review={ 'Mario': { 'OCTOPATH TRAVELER': 3.5, 'MARIO TENNIS AC…

python 0埋め 削除する

datetime の日付0埋めを削除する方法については、検索したら解説が見つかります。 普通の文字列、例えば "0000120" を "120" にするにはどうすれば良いのだろう?"python 0埋め 除去(削除、解除)" など色んなキーワードで検索したけどヒットしない。 除去す…

python bash のコマンドを実行

調べてみると色んなやり方が見つかりましたが、自分にとって一番シンプルだったやり方を。 import subprocess bashCommand = "ls -alt" output = subprocess.Popen(bashCommand, stdout=subprocess.PIPE, shell=True).communicate()[0] print(output) コマン…

pyspark TypeError: namedtuple() missing 3 required keyword-only arguments

$ /usr/local/spark/bin/spark-submit --master local[1] textStream.py Traceback (most recent call last): File "/home/mh/workspace/spark/pyspark-practice/textStream.py", line 1, in <module> from pyspark import SparkContext ------- pyspark TypeError: </module>…

Python twitter 検索APIでキーワード検索

twitter が用意してくれている検索APIをたたいてみます。 この手の記事はたくさんあるので、少し検索すればすぐに方法が見つかります。 #!/usr/bin/env python # -*- coding: utf-8 -*- from requests_oauthlib import OAuth1Session import json import sec…

install されている python のバージョンチェック

コマンドラインで確認できるわけですが、スクリプト内でチェックして違う動作をさせたい時もあります。 version.py #!/usr/bin/env python import sys IS_PYTHON2 = sys.version_info[0] == 2 if IS_PYTHON2: print 'Hello, version 2' else: print 'Hello, …