Bam's blog

学んだこと。思ったこと。綴ります。

Python:エディタの自動インデントはエラーのもと?

Pythonではif文などをかくときインデントを用いてブロックをわけます。

for i in range(40):          #40回繰り返す

    forward(distance)     #distance分進む

    right(degree)            #degree分右に曲がる

    degree += 2            #角度を2足す

    distance -=1           #距離から1を引く

  

 他の言語ならば「{}」や「end」といったキーワードを用いて

ブロックを区切りますが、pythonではそれらは不要です。

 

ただインデントのいれかたはtabキーを用いる入れ方と

spaceキーをいれる入れ方があり、混合することは推奨されていません。

 

ここで注意なのが、エディタの自動インデント機能です。

エディタによっては、if分で「:」を下記改行をすると自動でインデントをいれてくれるものがあります。

ですが、そのままで実行すると下記エラーが出ることがあります。

SyntaxError: unexpected indent

 

なので、自動インデントはなるべく使わず、

Pythonが推奨している半角スペース4つを用いてインデントしましょう。

 

 

みんなのPython 第3版

みんなのPython 第3版

 

 

Python:【メモ】SyntaxError: Non-ASCII character '\xe8' in file

エディタmiにてスクリプトファイルを作成し実行したら

SyntaxError: Non-ASCII character '\xe8' in file

というエラーメッセージが出た

 

google先生に聞くとファイルの最初に

#-*- coding: utf-8 -*-

を入れたらいいということなので、いれてみた。

理由はわかりませんが、問題はクリアされました。

 

 

 

Python:スクリプトファイルの実行方法(mac)

1. スクリプトファイルの準備

まずエディタでファイルをつくります。

(私はエディタには"mi"を使用しています)

 

miを開きます。

上の真ん中あたり(矢印を持っていくと"テキストエンコーティング"と表示されるところ)

に"UTF-8"と表示されていることを確認します。

(なってなかったら表示の右下の矢印をクリックして"UTF-8"を選択)

 

本文に下記を一言一句かえずに書き込みます。

from turtle import*

 

forward(100)

right(120)

forward(100)

right(120)

 

for i in range(4):

    forward(100)

    left(90)

 

input()

 

[command]キー+[S]キーを押します。

左欄にある"デスクトップ"をクリックします。

最上部に表示されている"名前"を"test.py"にします。

右下の保存をクリックします。

 

 2.スクリプトファイルの実行

(ファイルアイコンをダブルクリックして実行させる方法)

1で作ったファイルにマウスの矢印を持っていき、

[control]キー+クリックします。

出てきた一覧から"情報を見る"をクリックします。

真ん中ちょっと下の"このアプリケーションで開く"を

"Python Launcher.app"に変更します。

その画面の左上の"×"をおします。

スクリプトファイルをダブルクリックします。

すると、1でつくったプログラムが動き、

家のイラストが完成します。

 

(テキストデータのまま実行させる方法)

1でつくったスクリプトファイルをドラッグします。

Python Launcherのアイコンまでそのままもっていきドロップします。

すると、1でつくったプログラムが動き、

家のイラストが完成します。

 

以上

 

 

 

統計検定の対策方法

2013年の11月に統計検定2級を受け合格しました。

 

そもそもこういう検定は自分の力を試す場であったり、

勉強する上での一つのマイルストーン的に使うのいいと思います。

合格するかどうかではなく、自分のものとしそれを身につけたかどうかが大事だと思います。

また、検定は体系的にその分野を学ぶにも適していると思います。

 

 

が、でもやっぱり受けるからには合格したい。

会社の指示や単位のために合格しなければならない。

という人もいるかと思うので、

私が思うこれをすれば合格できるんじゃないかなということを書こうと思います。

 

2級しか受けていないので、2級に言及しますが、

「検定」と「推定」を押さえとけば合格点はとれます。

 

ここで合格点ですが、これは公表されていません。

(以前私が調べた限りは。最新情報は調べていません)

ですが、60%以上が合格点かと思います。

 

で、6割を押さえるためには、「検定」「推定」をおさえれば充分かと。

この2つは似ているので、「検定」を最低限押さえる。

 

どう押さえるか?

簡単です。

検定(パラメトリック検定)は14パターンあります。

①まず問題を見て、それが14パターンのどれにあてはまるか判断する

②パターンごとに公式があるので、公式にあてはめて計算する。

③結果を判定基準(表から読み取る)と大小比較する。

以上です。

 

 

 

これができれば大丈夫です。

 

これの練習として、下記は最適な本の一つです。

それぞれのパターンの解き方が丁寧に解説されています。

 

44の例題で学ぶ統計的検定と推定の解き方

44の例題で学ぶ統計的検定と推定の解き方

 

 

最後に、体系的にそれぞれのレベル(1級〜4級)を学ぶには

やはり、主催者が出している本が良いです。

 

日本統計学会公式認定 統計検定2級対応  統計学基礎

日本統計学会公式認定 統計検定2級対応  統計学基礎

 

 

 

R:折れ線グラフを描こう

1. データの準備

今回のデータは"VADeaths"を用います。

> VADeaths

      Rural Male Rural Female Urban Male Urban Female

50-54       11.7          8.7       15.4          8.4

55-59       18.1         11.7       24.3         13.6

60-64       26.9         20.3       37.0         19.3

65-69       41.0         30.9       54.6         35.1

 

70-74       66.0         54.3       71.1         50.0

 

"VADeaths"は1940年代のヴァージニア州の100人あたりの死亡率について、年齢(行)および地域と性別(列)に分けた5行5列のデータマトリックスです。

ここで、Rural:田舎、Urban:都会、Male:男性、Female:女性を意味します。

 

2. 折れ線グラフを描こう

折れ線グラフを描くには関数matplotを用います。

 

> matplot(VADeaths)

なんかイメージしていた折れ線グラフではありません。

これだと点のみで折れ線の"線"がありません。

"線"を描くためにはどうしたらいいのか。

答えはmatplot関数の引数として"type"を選びます。

> matplot(VADeaths,type="l") 

 

関数matplotではデフォルトでtypeは"p"が設定されています。

そのほかにもtypeは少なくとも数種類用意されています。

p:点を描く

l:点を通過する線のみを描く

b:点を描き、線で点を連結

c:点を飛ばして線を描く

h:各点から横軸までの垂直線を描く

n:枠(軸)のみを描く

> matplot(VADeaths,type="b")

点に記号を用いることもできます。

その場合は"pch"を用います。

> matplot(VADeaths,type="b",pch=1) 

 

全部一緒で分かりづらいですよね。

そういう場合はpchに範囲をいれます。

> matplot(VADeaths,type="b",pch=1:4) 

 

pch=1:○

pch=2:△

pch=3:+

pch=4:×

などたぶん20くらいまで様々な記号があります。

> matplot(VADeaths,type="b",pch=17:20) 

以上

 

R:ヒストグラムを描こう

1. データの準備

Rをインストールした際にはいっているデータ"iris"の

品種setosa(1〜50行)の第2変数Sepal.Width(ガク片の幅)

ヒストグラムを作成します。

対象のデータは次のようにして確認することができます。

> iris[1:50,2]

 

2. ヒストグラムを描こう

関数histを用いるとヒストグラムが作成できます。

> hist(iris[1:50,2])

少しそっけないですね。

引数"col"を用いると色をつけることができます。

引数"main"でグラフのタイトルがつけれます。

引数"xlab"でx軸の名前がつけれます。

> hist(iris[1:50,2],col="blue",main="iris",xlab="Sepal. Width",)

この"main"や"xlab"は他のグラフでも使えます。

その他については

help(hist)

で詳細を確認できます。

 

関数histでは、引数breaksを用いて階級を自由に設定することができます。

引数breaksは各棒の境目の値のベクトルを用います。

境目を1,2,3,4,5にする場合はbreaks=c(1,2,3,4,5)またはbreaks=c(1:5)を用います。

> hist(iris[1:50,2],breaks=c(1:5))

注意としては、階級をデータ範囲より狭くすればエラーがでます。

> hist(iris[1:50,2],breaks=c(1:3))

 以下にエラー hist.default(iris[1:50, 2], breaks = c(1:3)) : 

   'x' の一部分が数えられていません。多分 'breaks' が 'x' の範囲全体をカバーしていません 

 

はまることが大切

今日Gunosyで届いた記事

ピクシブでの開発-金髪の神エンジニア、kamipoさんに開発の全てを教わった話

http://storys.jp/story/2135

 

通勤帰りの電車の中でおもわず読み込んでしまった。

 

ふと、なんでこんなにこの記事に惹かれたのか考えてみた。

 

たぶん、この人が体験したことが自分が仕事に求めていることだからと思う。

 

・スピード感

・はまる

 

スピード感のある仕事で且つその仕事内容にはまる状態で働く

これを求めている

 

もちろんどんな仕事でも"はまる"ことがある。

(注:はまるって迷路に迷うほうでなく、夢中になる方です。)

 

その時間が長ければ長い方がいい。

 

長くはまれるものって?

 

お金をもらってなくても自発的に継続できること。

 

それが仕事になれば最高

 

どうやってみつけるか?

 

そんなの考えてもわからない。

経験して、おもしろいとおもって、自然に長く続いてたらそれがそう。

 

そうかんがえると、小さいうちから色々と経験するのがいい。

 

型にはまっていきてきて、

新卒一括採用の対象の時期が来て、

自分は何をしたいんだろうと考えても、

わからないよ。

 

結局、やってみないと自分がしたいことなんてわからない。

 

よくわからず、新卒一括採用で働き始めて、

徐々に仕事を通じて色々経験し、

徐々にやりたいこと、自分がはまることがわかってきて、

それは今のままじゃ、それが中心の仕事ができないとわかって、

転職を考え始める人も多いんじゃないだろうか。

 

けど、もう遅いと思ったりもして、動かない人もいる。

 

遅いってなんやろう。

私もたまにそう思いテンションさがるときがたまにある。

 

けどテンションさがっても時間はさかのぼれないんやから、

前を向かないとね。

 

さあ、行こう!!