みっかぼーず

日常も仕事もゲームも下ネタも徒然なるままに書いていく。更新は不定期

【Python】#2 paizaでプログラミング勉強始めた

どーも、いとです。
前回のPython学習からだいぶ間が空いてしまいましたが、
最近「paiza」のラーニングでPython学習を始めました。
paiza.jp


■paizaラーニング
・各言語の入門編を無料で学習できる(一部講座は有料)
・各講座の動画時間が短くコンパクト(時間が取りにくい平日も勉強しやすい!)
・オンライン実行環境あり(ブラウザ上で気軽にコードが書ける)

動画の解説を見ながら、ブラウザ上でコードを書いて出力結果を確認できるのがすごく便利!コードをその場で書けて試せるのはいいですね(*^^*)

また、チャプターごとに複数の演習問題にチャレンジ→採点できるので、自分の理解度確認になります。間違えたところを確認できるのがGOOD☆
演習問題も「正しいコードに直す」「問題で指定された出力結果となるコードを書く」など、バリエーションがあって飽きません。
プログラムは作って動かして失敗して直してなんぼ(眺めているだけでは体に染みつかず覚えられない!!)なので、こういった環境が用意されている学習サイトはいいですね!

プログラミング初心者向けのよい教材だと思ったので紹介しておきます(^^)/
また、スキルチェックでランク別の問題を解くこともできるようなので、学習状況が進んだら挑戦してみようと思います!


現時点でpaizaラーニングの「Python入門編1:プログラミングを学ぶ」まで終わりました。

Pythonどころかプログラムのプの字もわからないド★素人がどこまで成長したか、実際に練習で書いたコードと実行結果を備忘録として載せていきます!


=========================================
※ちなみに、ソースコードの配色設定もこれを機に変更してみました。

▼参照元
orangain.hatenablog.com

背景白地と比べると差が歴然。背景が暗色になると落ち着いた雰囲気で洗練されているように見えますね!
強調ワードやコメント色は、見やすさや好みで今後変更するかもしれません。
=========================================


変数


前回は「print関数で文字を出力する」だけだったので、今回は「変数とprint関数を使った出力」に挑戦してみました。

Pythonでは変数を下記のように表します。

変数名 = オブジェクト

数字データの場合はオブジェクトの部分に数値を入れ、文字列データの場合"オブジェクト"とダブルクォーテーションで囲ってオブジェクトの部分に文字を書きます。

それでは、変数を使った出力文を作ってみます。

▼実際に書いたコード

# coding: utf-8
# 変数練習

# 苗字に値を入れる
familyname = "苗字"

# 名前に値を入れる
lastname = "名前"

# 変数入り文章を表示する
print("私のコードネームは" + lastname + "・" + familyname + "。ヴェーダに選ばれたガンダムマイスターよ。よろしくね。")


手の込んだZISATSUかな?

変数や代入と聞いてピンときたのが、学生時代にクソがつくほどハマった夢小説の名前変換機能。当時を振り返りつつ、それっぽい文章が出力されるコードを書いてみました。

※夢小説を知らない心のきれいな人向けに補足
名前変換機能(読者が設定した名前が文章中の名前に反映される)が搭載された画期的小説。
友人から教えてもらって初めて夢小説を読んだとき、発明した人は天才だと感動した。

今回の変数は「familyname」「lastname」の2つ。各変数名の=の後ろの"文字列"がprint関数内の変数部分に代入されて、文章が出力されます(例:familynameに"苗字"という文字が代入されて出力される)。


▼実行結果

私のコードネームは名前・苗字。ヴェーダに選ばれたガンダムマイスターよ。よろしくね。

恥ずかしさのあまりゲイボルグで心臓を貫きたくなる出力結果

名前と苗字を書き換えれば、ヒロインのコードネームを好きに変えられるわけです。

名前を入力する機能を別で作れば名前変換機能付き夢小説のできあがり!(実際の夢小説は「##name1##」のようなタグを、名前を表示させたい箇所に埋め込んで文章を書くという仕組みでした。変数を文章に埋め込むという意味では作りは同じですね)

私のプログラム力が上がれば夢小説機能を一から実装するのもドリームでなくなるはず……!


文字列の繰り返し


動画で学習したものだけでなく、自分で調べたものも取り入れて練習してみました。今回は文字列の繰り返し出力です。
また、paizaでrandint関数を学習したので、こちらも使ってみます!

【プログラムコンセプト】
・刹那が「(俺が)ガンダムだ!」と連呼する
・「ガンダムだ!」と叫ぶ回数はランダムで幅を持たせてみたい

ネットの海にゴミプログラムを量産しているだけの気がしてきましたがコードを書いていきます。

文字列の繰り返しは下記コードで表しました。

"文字列" * 回数

文字列に対して「*」演算子を使用し「ガンダムだ!」を連呼します。

また、ランダム回数表示させるためにrandint関数を使用します。

import random

変数名 = random.randint(a,b)

(1行目)ramdomモジュールをインポート
(3行目)aからbまで(bを含む)の指定された範囲内でランダムに選ばれた値を返す

これを連呼する数の部分で使用します。


▼実際に書いたコード

# coding: utf-8
import random

# 刹那が「ガンダムだ!」と叫ぶ数(5~20の間でランダム)
num = random.randint(5,20)

# 刹那「俺が + ガンダムだ!×n + 」と出力する
print("刹那「俺が" + "ガンダムだ!" * num + "」")

最終的な出力は最下部のコード内容です。


▼実行結果

刹那「俺がガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!ガンダムだ!」

以上、刹那が「ガンダムだ!」とランダム回数叫ぶプログラ厶の完成です。

今回「*」演算子は”ガンダムだ!”の文字列にかかっているので、”刹那「俺が”の文字列は繰り返し出力されません。

繰り返し同じ処理をする場合、今回は演算子を使用して文字列を繰り返し出力させましたが、もっとスムーズなループ処理?は他にもあると思うで、次回以降も勉強し次第取り扱っていく予定です。



はい、今回のPython成果報告はここまで!

変数や演算子の使い方がわかってきて、書けるプログラムが少しずつ増えてきたなーという感じ。できることが増えると楽しいですね(*^^*)

paizaという学習環境も手に入れたので、
今月中にPythonの入門編(12/31まで無料)を終わらせることを目標に頑張りますー!


では、今回はこのへんで!(・∀・)ノシ

←前回 『#1 プログラミング初心者がPythonやってみた
→次回 『#3 条件分岐をかじってみる