Pythonで半端ならK.O….踊♪

おはこんばんちは!
うにゃうにゃエンジニアの猫です(=^x^=)

Adoさんの歌って、プログラミングの教材になるんですよね。
今回は踊からヒントを得たプログラムを作ってみました。

関連記事:C言語うっせぇわループ

サイトマップはこちらから

Python自作サンプルに戻る
C言語自作サンプルに戻る
メインメニューに戻る
基本情報技術者試験

自己紹介

Pythonの進捗状況(私のロードマップ)

歌詞に「半端ならK.O.」とありますね。
ここから半端、つまり、割り算をして割り切れなかったら負け、割り切れたら勝ちという割り算ゲームを格闘ゲームをイメージして作りました。
余りが0で割り切れたなら勝ち、余りが出たら負けです。

まずは、実行してみます。

ここで被除数(割られる数)を入力します。
「9」

次に除数(割る数)を入力します。
「2」


割り切れませんので、余り、半端なのでK.O.されて負けました。

次は8を2で割ってみます。

割り切れてK.O.,勝ちしました。

それではこのプログラムのポイントとなる箇所をトレースしてみます。

最初の入力画面のコードです。
ここで、標準入力を使って、被除数(割られる数)を入力しています。
>>>のすぐ後に入力出来るようにprint文の中で、

end=””

を使っています。

#dividendは被除数(割られる数)
print("被除数(割られる数)を入力して下さい>>>",end="")
dividend=int(input())

次に、除数(割る数)を標準入力を使って入力しています。

#divisorは除数(割る数)
print("除数(割る数)を入力して下さい>>>",end="")
divisor=int(input())

その後、割り算して余りを求め、結果を返す関数を呼び出しています。

#remainder(余り)を計算する関数を呼び出す
judge=dance_div(dividend,divisor)
print("果たして'YOU'の勝敗結果は・・・・!")

割り算を計算して、余りがあるかどうかによって文字列msgに「YOU WIN」または「YOU LOSE」を戻り値として返すようにしています。

#割り算してあまりを返す関数
def dance_div(dividend,divisor):
    remainder=dividend%divisor
    print("被除数(割られる数)="+str(dividend))
    print("割る数="+str(divisor)+"\n")
    print("余り【"+str(remainder)+"】\n")

    #もしも余りが0だったら勝ち!    
    if remainder==0:
        msg="YOU WIN!!!!!!!!!!!!!!!!!!!"
    else:
        msg="YOU LOSE....." 

    return msg       

最後にこのプログラム全体のコードを掲載します。

#割り算してあまりを返す関数
def dance_div(dividend,divisor):
    remainder=dividend%divisor
    print("被除数(割られる数)="+str(dividend))
    print("割る数="+str(divisor)+"\n")
    print("余り【"+str(remainder)+"】\n")

    #もしも余りが0だったら勝ち!    
    if remainder==0:
        msg="YOU WIN!!!!!!!!!!!!!!!!!!!"
    else:
        msg="YOU LOSE....." 

    return msg       

print("\n ♪ 半端ならK .O ..... ♪ \n")        
#dividendは被除数(割られる数)
print("被除数(割られる数)を入力して下さい>>>",end="")
dividend=int(input())

#divisorは除数(割る数)
print("除数(割る数)を入力して下さい>>>",end="")
divisor=int(input())
print()

#remainder(余り)を計算する関数を呼び出す
judge=dance_div(dividend,divisor)
print("果たして'YOU'の勝敗結果は・・・・!")

#結果を出力
print(judge+"\n")

宜しかったら、コードをコピペしてアレンジして見てください。

最後までお読み頂きありがとにゃん(=^x^=)

■参考文献■
じっくり丁寧にPythonを学びたい方向け。
まずはpaizaラーニングなどの学習コンテンツで学んで、基礎をマスターしたら、この本でじっくりと初級から中級レベルを目指せます。

関連記事:C言語うっせぇわループ

サイトマップはこちらから

Python自作サンプルに戻る
C言語自作サンプルに戻る
メインメニューに戻る
基本情報技術者試験

自己紹介

Pythonの進捗状況(私のロードマップ)

Pythonの進捗状況(私のロードマップ)

この記事ではPythonに絞って、ゲーム感覚でプログラミングを楽しめて、尚且つ、出来るだけコストを書けず挫折しにくい学習方法を紹介しています。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

paizaラーニング さんという学習コンテンツで、1レッスンに8個程度のチャプターがあります。入門講座の他に完全無料の「体験版」があるので、自分との相性の合う言語を手軽に探せます。

2021年2月21日からPythonの学習を本格的に始めました。
それまでは幾つかの言語を自分探し的にやっていました。
2021年5月5日(GW最終日)に体験版及び入門講座を終えました。

体験版と入門講座のLesson6までをまず行いました。
ここまでで変数、条件分岐、ループ、リスト(他の言語でいう配列)が学べます。

その後、Lesson7の関数に進む前にレベルアップメニューの問題集のリンクがあるので、そちらで条件分岐、配列、配列活用メニュー、二重ループメニューを終わらせ、最後にCランクレベルアップメニューをクリアしました。

レベルアップ問題集は、順番に解いていくと最後の問題が解けるようにテーマごとに構成されていて、まずは自力で解いて、それから正解した場合でも必ず模範解答を確認して、もっと良いやり方があったらそのやり方でも問題を解いてみました。

Cランクアップメニューをクリアした後、Lesson7の関数に進み、最後の動画レッスン(2021年5月5日現在)のLesson10までで関数に加えてクラス、例外処理を学びました。

動画レッスンには内包表記はありませんが、レベルアップ問題集の模範解答などを見て、内包表記が少し分かる程度の知識があれば、この本、「独習Python」を読めると思います。

paizaにはスキルチェックというものがあり、ランクがDランク、Cランク、Bランク、Aランク、1番上がSランクになります。

私は2021年12月現在Cランクですが、Cランクの問題は解ける問題もありばそうでない問題もあり、安定して解けるのはDランクの問題なので、実質的な実力はDランクだと思っています。

そこで、実質的にCランクの問題を安定して解ける力をつけ、さらに上を目指すのに、「レベルアップ問題集」のPythonのコードと仕事で必要になるGASのコード(スプレッドシートを使用)をブログで公開しています。

関連記事:paizaレベルアップ問題集をPythonとGASの両方で解いてみた集
これは、DランクからCランクにレベルアップするための、Cランク獲得ストーリーを参考にしています。



■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

出来れば基本情報技術者試験合格レベルの知識もあった方がより分かりやすいかも知れませんが、ITパスポートのみという方でも、論理演算とか知っていれば学習可能かも知れません。

2021年5月23日からKivyを初め、今現在はPython×kivyで2021年内にアプリを開発出来るよう、仕事と並行して勉強しています。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Swiftについて

この記事ではSwift学習時に使用していた本3冊の中から最も初心者向けかつ内容が充実している本を1冊紹介します。

これからプログラミングを始める方へ
プログラミング学習で関わってはいけない人と避けるべき環境
風呂グラミング(入浴剤紹介)
(保護者の方へ)こどもプログラミング

iPhoneでアプリの開発というと、まず思い浮かぶのがSwiftだと思います。
基本情報技術者試験の受験が終わった2021年1月前半からSwiftをやっていました。

ドットインストールさんでSwiftの3分動画講義があり、演算やループ、配列、タプルといった基本が学べます。
また、この記事後半で紹介する本では基礎を中心により深く学べます。

SwiftはMacのX-Codeで動くので、Windowsでは使用できないんです。
では、macに買い換えるまで、Windowsでどうやって勉強をしていたのかと言うと、
paizaのエディタを使って、そこにコードを書いていました。

関連記事:Mac買い換え備忘録

Swiftは本も日本語の情報も沢山あり、アプリ開発で何か特別な理由が無い限りは一番お勧めな言語です。

Swiftで開発を考えていた頃に3冊ほど本を買いましたがその中で最も内容が充実していて、プログラミング全くの初めてでも小学生程度の算数が出来れば読み進められる本を1冊紹介します。

先ほど、何か特別な理由が無い限りSwiftがお勧めと書きましたが、私は例外的な例に当てはまってしまったので、別の方法でアプリ開発を目指すことにしました。

関連記事:Python×kivy

これからプログラミングを始める方へ
プログラミング学習で関わってはいけない人と避けるべき環境
風呂グラミング(入浴剤紹介)
(保護者の方へ)こどもプログラミング

【Pythonクラス爆速理解!!】「月曜日はウンジャラゲ♪」で、「昭和のギャグ」からクラスが学べちゃうんですョ!!

この記事を読むことで、Pythonのクラスが「脳にダイレクトに衝撃を与えながら記憶に残って定着して使いこなせる」様になります。
と、申すのも、Pythonでのクラス学習に教材として、故・志村けんさんが歌う「ウンジャラゲ」を使って学んでいくからです。

この記事ではPythonを学んでクラスまで辿り着いた昭和生まれのミドル世代中高年の方々に、どこまでも優しい記事を心がけて書いておりますが、Pythonのクラスを勉強中の平成・令和生まれの方も宜しかったらお立ち寄り下さい。内包表記も使っているので、ループの学習中の方もどうぞご覧下さい。

プログラミング初心者で、子どもの頃にTV で「志村けんさん」のギャグを見て笑っていた昭和の方々を対象にしていますが、若い方でも志村けんさんをご存知の方は大勢いらっしゃると思います。

プログラミングを学んでいる私のような年配の方で、若い方から学ぶのはチョット・・・とためらいのある方は、こちらの記事と併せて、クラスよりももっと前の基礎文法も扱っている当ブログのPython自作サンプル集もご覧下さいませ。

関連記事(ループで「僕は死にましぇ〜〜ん」・「同情すんなら金をくれ!!」):Pythonでループの基礎と2つずつ増加、ドラマの名台詞を表示、「同情すんなら金をくれ!!!!」

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

クラス=設計図
インスタンス=クラスという設計図から作られた「具体的な」製品
というと、なんだか小難しい感じがするので、

クラス=志村けんさんの「ウンジャラゲ」を例にして、「何」曜日は「ナニナニナニ♪」といったフォーマット
インスタンス=そのフォーマットから作った、「月曜日はウンジャラゲ」、「火曜日はハンジャラゲ」・・・「日曜日はランラランらランランっ!」と言った「具体的な」各曜日ごとの踊り

という認識でコードを書いています。

下記の動画は、今回学ぶ「Pythonのクラスの基礎の基礎」の教材として使っているので、お忙しい方も出来れば「最初の1分程度まで(日曜日まで)」を先に見ておいて頂けると、楽しみながらPythonのクラスの理解が深まると思います。
動画右下の歯車マークから再生スピードを2倍速にすると、余計に笑えるかも知れませんヨ!)

では、いよいよプログラムを詳しく見ていきます。
最初に志村けんさんのセリフとBGMを出力するコードです。
これはシンプルなprint文です。

#志村けんさんのコールと「ウンジャラゲのBGM」
print('-------------------------------------------')
print('志村けん:「さぁ、みんな揃って【ぶわぁぁぁぁぁぁぁっと】参りましょうか!!」')
print('・・・BGM・・・\n')

ポイントと言っても、4行目のprint文で改行の「バックスラッシュn」を使っている所ぐらいでしょうか。「バックスラッシュ」はMacをお使いの方は【option】+【¥】で表示されます。Windowsの方はこちらをご参照ください。

では、クラスJarageを作って行きます。
まずは、インスタンス化する時に自動的に最初に呼ばれるコンストラクタの部分です。
簡単に書くと、初期化するメソッド(関数)です。
初期化 → 月曜日 → 初期化 → 火曜日 → 初期化 → 水曜日・・・
という具合に呼び出されるので、必ず初期化が必要です。

#クラスJarage
class Jarage:

    #コンストラクタで初期化している。
    def __init__(self,week,spell):
        self.week=week
        self.spell=spell

selfというのは、呼ばれた月曜日、火曜日・・・の各曜日自体のことです。
weekに曜日を、spellに「ウンジャラゲ」、「ハンジャラゲ」といった呪文(!?)を引数にしています。
クラスで使うメソッド(関数)には「self」が必要です!!

次は、「何曜日」が「ナンジャラゲ」になるのか出力するsongメソッドです。

#何曜日は何ジャラゲかを出力するsongメソッド   
    def song(self):
        print(self.week+'曜日は、'+self.spell)

一旦ここまでのクラスJarageのコードをまとめます。

#クラスJarage
class Jarage:

    #コンストラクタで初期化している。
    def __init__(self,week,spell):
        self.week=week
        self.spell=spell

    #何曜日は何ジャラゲかを出力するsongメソッド   
    def song(self):
        print(self.week+'曜日は、'+self.spell)

クラスの中にあるsongメソッドを使うのに、

mon=Jarage(‘月’,’ウンジャラゲ’)

とすると、月曜日はウンジャラゲ、と入るようにします。
変数self.weekに「月(曜日)」、変数self.spellに「ウンジャラゲ(呪文)」が入り、これをリストを使って、各曜日用意します。

次に、月曜日から日曜日までインスタンス化する処理です。

#曜日とその呪文のインスタンスを生成
mon=Jarage('月','ウンジャラゲ♪')
tue=Jarage('火','ハンジャラゲ♪')
wed=Jarage('水','スイスイスイ♪')
thu=Jarage('木','モーリモリ♪')
fri=Jarage('金','キンキラキン♪')
sta=Jarage('土','ギンギラギンのギンギラギンのギンギラギンのギン♪')
sun=Jarage('日','ランラランらランランっ!')

この後、各曜日を格納するリストeverydayを、各曜日の英語略で作ります。

everyday=[mon,tue,wed,thu,fri,sta,sun]

このリストeverydayをループを使って順々にインスタンス化していくコードです。

#ループを使って各曜日のインスタンス化を行う
for day in everyday:
    day.song()

このループの部分を内包表記で書くと、ループのコードが1行にシンプルに記述出来ました。

#内包表記で各曜日のインスタンス化のループを作る
[day.song() for day in everyday] 

内包表記の公式
[結果 for〜(いつものFor文)]

では、クラスJarageの中のsongメソッドをループで呼び出して各曜日表示します。
これまでのコードに出力文「だいじょぶだぁ」などを加えたコードと、実行結果です。

#志村けんさんのコールと「ウンジャラゲのBGM」
print('-------------------------------------------')
print('志村けん:「さぁ、みんな揃って【ぶわぁぁぁぁぁぁぁっと】参りましょうか!!」')
print('・・・BGM・・・\n')

#クラスJarage
class Jarage:

    #コンストラクタで初期化している。
    def __init__(self,week,spell):
        self.week=week
        self.spell=spell

    #何曜日は何ジャラゲかを出力するsongメソッド   
    def song(self):
        print(self.week+'曜日は、'+self.spell)


#曜日とその呪文のインスタンスを生成
mon=Jarage('月','ウンジャラゲ♪')
tue=Jarage('火','ハンジャラゲ♪')
wed=Jarage('水','スイスイスイ♪')
thu=Jarage('木','モーリモリ♪')
fri=Jarage('金','キンキラキン♪')
sta=Jarage('土','ギンギラギンのギンギラギンのギンギラギンのギン♪')
sun=Jarage('日','ランラランのランっ!')


#曜日のリスト
everyday=[mon,tue,wed,thu,fri,sta,sun]

#内包表記で各曜日のインスタンス化のループを作る
[day.song() for day in everyday] 

print('\n志村けん:「だいじょぶだぁ!!」') 
print('-------------------------------------------\n') 

わざわざクラスなんて「しちめんどくさい」ことしないで、そのままコピペの方が良くね?と思われるかもしれませんし、私もそんなこと考えなくもないですが。

いかんいかん、プログラミングを勉強する者としては!!

そこで、最後に「猫曜日はうんにゃにゃんにゃんにゃん(=^x^=)っm」を加えることにします。

これはリストeverydayに「cat」を追加して、「猫(猫曜日の猫)」、「うんにゃにゃんにゃんにゃん(=^x^=)っm」と引数を2つ指定したオブジェクトを作れば良いだけなので、簡単に改造できそうですね。

追加したコードです。

#猫曜日を追加
cat=Jarage('猫','んにゃにゃにゃにゃんにゃん(=^x^=)mm!')

#曜日リストの末尾に「cat」を追加
everyday=[mon,tue,wed,thu,fri,sta,sun,cat]

追加の実行結果です。

はい、これで無事に「猫曜日」が追加されました!!

・・・いったい自分は何をしているんだろう…。という気にもなりましたが、昭和のギャグも令和でのプログラミングの勉強に繋がっていたってことで。

それではこの追加のコードを含めて、ここまでの全コードを掲載します。

#志村けんさんのコールと「ウンジャラゲのBGM」
print('-------------------------------------------')
print('志村けん:「さぁ、みんな揃って【ぶわぁぁぁぁぁぁぁっと】参りましょうか!!」')
print('・・・BGM・・・\n')

#クラスJarage
class Jarage:

    #コンストラクタで初期化している。
    def __init__(self,week,spell):
        self.week=week
        self.spell=spell

    #何曜日は何ジャラゲかを出力するsongメソッド   
    def song(self):
        print(self.week+'曜日は、'+self.spell)


#曜日とその呪文のインスタンスを生成
mon=Jarage('月','ウンジャラゲ♪')
tue=Jarage('火','ハンジャラゲ♪')
wed=Jarage('水','スイスイスイ♪')
thu=Jarage('木','モーリモリ♪')
fri=Jarage('金','キンキラキン♪')
sta=Jarage('土','ギンギラギンのギンギラギンのギンギラギンのギン♪')
sun=Jarage('日','ランラランらランランっ!')
#猫曜日を追加
cat=Jarage('猫','んにゃにゃにゃにゃんにゃん(=^x^=)mm!')

#曜日リストの末尾に「cat」を追加
everyday=[mon,tue,wed,thu,fri,sta,sun,cat]

#内包表記で各曜日のインスタンス化のループを作る
[day.song() for day in everyday] 

print('\n志村けん:「だいじょぶだぁ!!」') 
print('-------------------------------------------\n') 

今回教材に使った曲は、「植木等 ハナ肇とクレイジー・キャッツの曲」だそうです。
実は、ハナ肇さんは大学の先輩なんです。

最後まで読んでくださって、ありがとうございます。
あなたを愛しています(=^x^=)

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

Python クラスを使ってアロマオイルの値段を計算する

この記事を読むことで、クラスを使った演算を学べます。
具体例として、アロマオイルの単価と数量と税率から合計金額を演算します。
クラスは「設計図」というイメージで説明されることが多いです。

「Aroma」というクラス(設計図)に「money」というメソッド(クラス内で使う関数)を持たせて、アロマという抽象的なものから、「ハッカ油」、「レモン精油」という具体的なもの(インスタンス)を作って計算結果を求めています。

おすすめのハッカ油とレモン精油を購入するイメージでコードを書きました。
ハッカ油5本、レモン精油4本とします。
ハッカは1本1000円、レモンは1210円で計算しました。

今回イメージで購入するハッカ油とレモン精油です。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

では、コードを書いていきます。
まず、クラスは下記のコードで作れます。

class Aroma:

「Aroma」というクラスを作りました。注意点として、クラスの先頭は大文字にします!

クラス内で、消費税率taxを宣言しました。

tax=1.1

消費税率10%ですね。

このクラスの中に、先ほど紹介した「money」という値段を計算するメソッドがあるのですが、「Aroma」というクラス(設計図)を初期化して、「ハッカ油」の値段を計算 → 「ハッカ油」の値段と数量が入っている変数を初期化→「レモン精油」の値段を計算しています。

初期化する為に、「コンストラクタ」という特別なメソッドを使います。
このメソッドがあるから、「ハッカ」→ <初期化> → 「レモン精油」と計算出来るのです。そのため、メソッド「money」の前にコンストラクタを書いています。
コンストラクタはクラスの中で1番先に呼び出されます。

#これは「コンストラクタ」で最初に呼ばれて変数を初期化している
    def __init__(self,price,count):
        self.price=price
        self.count=count

コンストラクタは、「init」を使って書いています。
コンストラクタの書き方をまとめると、上記コードの2行目は、この様な書き方になります。

def (スペース)__(アンダーバー2つ)init__(アンダーバー2つ)

このコンストラクタの中には「self」というものが入っていますが、ここでは簡単に、「ハッカ油自体」、「レモン精油自体」だと思って下さい。

コンストラクタの後に、値段を計算するメソッドmoneyを書きます。

#値段を計算するメソッド
    def money(self):
        return int(self.price*self.count*Aroma.tax)

ハッカ油の値段と数量と消費税率を掛けてintで整数にして計算しています。

ハッカ油やレモン精油をクラスを使って計算するのは、クラスという設計図のような物に「ハッカ油」、「レモン精油」の単価と数量を指定して計算します。
そのインスタンス化と出力のコードです。

#インスタンス化
hakka=Aroma(1000,5)
remon=Aroma(1210,4)

#値段を出力。「str」と「+」を使って計算結果と文字列を出力している。
print('【 ハッカ油】は合計【'+str(hakka.money())+'】円です。')
print('【レモン精油】は合計【'+str(remon.money())+'】円です。')

ここまでのコードのまとめと、出力結果です。

class Aroma:

    #消費税
    tax=1.1

    #これは「コンストラクタ」で最初に呼ばれて変数を初期化している
    def __init__(self,price,count):
        self.price=price
        self.count=count

    #値段を計算するメソッド
    def money(self):
        return int(self.price*self.count*Aroma.tax)

#インスタンス化
hakka=Aroma(1000,5)
remon=Aroma(1210,4)

#出力
print('【 ハッカ油】は合計【'+str(hakka.money())+'】円です。')
print('【レモン精油】は合計【'+str(remon.money())+'】円です。')

アロマなんかにそんなにお金使うのか!!!という声も聞こえてきそうですが、
何にお金を使うのかは人それぞれですよね。
おすすめは 北見ハッカ通商さんのハッカの商品 です。

◆関連記事◆
アロマでゴキブリを追い出せ
ハッカ愛から、ハッカー

ご精読ありがとうございました。
あなたを愛しています(=^x^=)

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

Python でDIVE麻木コーチが3人の中から代表選手を選ぶ

この記事を読むことで、Pythonの関数の再利用の仕方を学べます。前回作った「選手の競技点数を計算するブログラム」の中から1つ関数を改変し、再利用する事によって、最も得点の高い選手を選べるようにしました。
前回・今回とも、水泳の飛び込みのスポーツ青春ドラマDIVEを具体例にしています。
前回作成した、飛び込みの点数を求める関数プログラムを、まだご覧になっていない方は、上記の記事を先にご覧頂けると、この記事の内容が一層深まると思います。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

軽く前回のおさらいをします。
飛び込み競技は、7人の採点員が採点して、7つの点数のうち、上位2つ及び下位2つの点数を除いた真ん中の点数の平均値を求める事によって、その選手の点数を求めました。
前回は、この関数の名前を「scoring」として、下記のコードを書きました。

import random

#飛び込みの採点をする関数
def scoring():

    #7人の採点員の点数を0.0〜10.0まで0.5刻みの乱数を発生させて求めている
    array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

    #並び替える前のリストを表示
    print('昇順に並び替える【前】\n'+str(array))

    #リストを昇順に並び替え
    array=sorted(array)

    #並び替えた後のリストを表示
    print('昇順に並び替えた【後】\n'+str(array))

    #スライスを使ってリストから中央の値のみを残す
    mid_array=array[2:5]

    #リストの中央値のみを出力
    print('リストの【中央値】のみ\n'+str(mid_array))

    #3つの中央値から平均点を求めて、それを選手の得点とする
    score=round(sum(mid_array)/len(mid_array),1)

    #選手の点数を表示
    print('あなたの飛び込みの点数は【'+str(score)+'】点です。')

    #得点を戻り値として、呼び出し元に戻る
    return score


#採点する関数scoringを呼び出してスコアを変数scoreに代入する
score=scoring()

この関数を、選手の名前を引数にして呼び出せるように改変します。
選手役の役者さんは、ジャニーズのHiHiJetの方でしたので、キャラクター名を格納するリスト名をhihi_arrayとします。
(知季役:井上瑞稀さん、要一役:作間龍斗さん、飛沫役:高橋優斗さんが、トリプル主演で選手役)
また、3人の得点を格納するリストをscore_hihi_arrayとします。

この2つのリストを関数の外で宣言します。

#キャラクターの名前を入れるリストを用意
hihi_array=['知季','要一','飛沫']

#飛び込み選手の得点を入れるリストを用意
score_hihi_array=[]

では、ここから前回作成した選手の得点を計算する関数scoringを改変していきます。
選手の名前はリストhihi_arrayに格納しているので、まず、この関数の呼び出し元で、選手の名前が引数になる様にして、関数scoringにループで渡せる様に致します。

この関数では知季、要一、飛沫の名前を引数にして麻木夏陽子のコールで3人を飛び込ませ、3人の飛び込みの点数を算出して、score_hihi_arrayに3人の得点を追加させます。

リストhihi_arrayを[‘知季’,’要一’,’飛沫’]としたので、リストのキャラクター名はループを使って関数scoringを呼び出せます。

#ループを使って「リストhihi_array」の名前を引数にして関数scoringを呼び出す
for name in hihi_array:
    #ここで関数scoreを引数にキャラクター名を入れて呼び出している
    score=scoring(name)
    #戻り値として採点結果の点数をリストscore_hihi_arrayに追加している
    score_hihi_array.append(score)

また、呼び出し先の関数scoringに改変を加えた箇所です。

#飛び込みの採点をする関数
def scoring(name):

    #麻木コーチが3人の各選手に飛び込みをさせるように指示する
    print('-------------------------------------------')
    print('麻木コーチ:「'+name+'!! 飛び込みなさい!早く!!!」\n')
    print('バシャ〜〜〜〜〜〜ん。。。'+name+'は飛び込んだ。')

#・・・中略・・・#

  #選手の点数を表示
    print(name+'の飛び込みの点数は【'+str(score)+'】点です。')

これで、「知季、要一、飛沫」のが採点されました。
その採点結果を格納するリストscore_hihi_arrayを表示するコードです。

print(‘3人の得点のリスト’+str(score_hihi_array)+’\n’)

実行結果です。

選手たちの最高点は、得点リストscore_hihi_arrayの値が最も大きく、その最高点の要素がリストscore_hihi_arrayの0か1か2かを求めるのには下記のコードを追記します。最高点の入った要素を変数numに入れるコードです。

num=(score_hihi_array.index(max(score_hihi_array)))

max関数で最高点を求め、index関数でその添字を求めて変数numに代入します。
得点リストと最高点が格納された要素(=num)を求めるコードと実行結果です。

num=(score_hihi_array.index(max(score_hihi_array)))
print('最高点のインデックスは【'+str(num)+'】です。\n')

関数scoringの全コードです。

#【飛び込みの採点をする関数】
def scoring(name):

    #麻木コーチが3人の各選手に飛び込みをさせるように指示する
    print('-------------------------------------------')
    print('麻木コーチ:「'+name+'!! 飛び込みなさい!早く!!!」\n')
    print('バシャ〜〜〜〜〜〜ん。。。「'+name+'」は飛び込んだ。')


    #7人の採点員の点数を0.0〜10.0まで0.5刻みの乱数を発生させて求めている
    array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

    #並び替える前のリストを表示
    print('昇順に並び替える【前】\n'+str(array))

    #リストを昇順に並び替え
    array=sorted(array)

    #並び替えた後のリストを表示
    print('昇順に並び替えた【後】\n'+str(array))

    #スライスを使ってリストから中央の値のみを残す
    mid_array=array[2:5]

    #リストの中央値のみを出力
    print('リストの【中央値】のみ\n'+str(mid_array))

    #3つの中央値から平均点を求めて、それを選手の得点とする
    score=round(sum(mid_array)/len(mid_array),1)

    #選手の点数を表示
    print('\n<<'+name+'の飛び込みの点数は【'+str(score)+'】点です。>>')
    
    #得点を戻り値として、呼び出し元に戻る
    return score

次項では、この得点リスト(score_hihi_array)をもとに麻木夏陽子コーチが誰を代表に選ぶか決める関数を作ります。
得点リストの最高点の要素が0だったら知季、1だったら要一、2だったら飛沫を代表に選んで激励のメッセージを送ります。
その関数をasakiJudgeをします。

● 関数asakiJudge()

選手の得点の配列の最高値の要素numを引数にして関数asakiJudgeを呼び出し、代表選手に麻木コーチが愛のあるメッセージを送る関数を作ります。
シンプルなIF文で、最高点が入った要素のキャラクター名を呼び出し元に戻しています。

asakiJudge関数のコードです。

#【麻木コーチが誰を代表に選ぶのかを求める関数】
def asakiJudge(num):
    #numによる分岐
    if num==0:
        character='知季'
    elif num==1:
        character='要一'
    else:
        character='飛沫'

    #麻木コーチのメッセージ
    print('麻木コーチ:次の代表は【'+character+'】ね!(ハート)厳しく鍛えるから覚悟しなさい!!!')           

ここでの分岐により、numの添字が0だったら知季、1だったら要一、それ以外だったら飛沫が代表に選ばれます。

では、最後に全コードと実行結果のまとめです。

import random

#【飛び込みの採点をする関数】
def scoring(name):

    #麻木コーチが3人の各選手に飛び込みをさせるように指示する
    print('-------------------------------------------')
    print('麻木コーチ:「'+name+'!! 飛び込みなさい!早く!!!」\n')
    print('バシャ〜〜〜〜〜〜ん。。。「'+name+'」は飛び込んだ。')


    #7人の採点員の点数を0.0〜10.0まで0.5刻みの乱数を発生させて求めている
    array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

    #並び替える前のリストを表示
    print('昇順に並び替える【前】\n'+str(array))

    #リストを昇順に並び替え
    array=sorted(array)

    #並び替えた後のリストを表示
    print('昇順に並び替えた【後】\n'+str(array))

    #スライスを使ってリストから中央の値のみを残す
    mid_array=array[2:5]

    #リストの中央値のみを出力
    print('リストの【中央値】のみ\n'+str(mid_array))

    #3つの中央値から平均点を求めて、それを選手の得点とする
    score=round(sum(mid_array)/len(mid_array),1)

    #選手の点数を表示
    print('\n<<'+name+'の飛び込みの点数は【'+str(score)+'】点です。>>')
    
    #得点を戻り値として、呼び出し元に戻る
    return score


#【麻木コーチが誰を代表に選ぶのかを求める関数】
def asakiJudge(num):
    #numによる分岐
    if num==0:
        character='知季'
    elif num==1:
        character='要一'
    else:
        character='飛沫'

    #麻木コーチのメッセージ
    print('麻木コーチ:次の代表は【'+character+'】ね!(ハート)厳しく鍛えるから覚悟しなさい!!!')           


#【呼び出し元】
#キャラクターの名前を入れるリストを用意
hihi_array=['知季','要一','飛沫']

#飛び込み選手の得点を入れるリストを用意
score_hihi_array=[]

#ループを使って「リストhihi_array」の名前を引数にして関数scoringを呼び出す
for name in hihi_array:
    #ここで関数scoreを引数にキャラクター名を入れて呼び出している
    score=scoring(name)
    #戻り値として採点結果の点数をリストscore_hihi_arrayに追加している
    score_hihi_array.append(score)

#知季、要一、飛沫の点数を格納したscore_hihi_arrayを表示する。
print('\n-------------------------------------------')
print('3人の得点のリスト'+str(score_hihi_array))

#ここで、変数numに最高点の要素を求めている
num=(score_hihi_array.index(max(score_hihi_array)))
print('最高点のインデックスは【'+str(num)+'】です。\n')


#numを元に麻木コーチが誰を代表に選ぶのかを求める関数を呼び出す
asakiJudge(num)

では、プログラムを実行してみます。
ここでは、要一(要素1)が選ばれた時の結果です。

ループでリストhihi_arrayから「知希」が呼び出され、採点された。

ループでリストhihi_arrayから「要一」が呼び出され、採点された。

ループでリストhihi_arrayから「飛沫」が呼び出され、採点された。

要一が選ばれた時の結果です。

では、知希や飛沫の時も実行してみます。

ここまでご精読ありがとうございました。

HiHiJetの井上瑞稀さん、作間龍斗さん、高橋優斗さんトリプル主演の水泳飛び込み青春ドラマ、DIVEが熱いですね。

麻木夏陽子コーチ役の馬場ふみかさんのファンなので、
このドラマ、井上さん演じる知季の視点で見たいです。
そうしたら何倍も楽しめそうです。
今まで、佐久本宝さん演じる陵くんの視点で見ていました。

DIVEの相関図です。
この相関図は公式なものではなく、私がパソコンを買い換えたことをきっかけに作ってみた私的な作品です。

公式サイト
公式アメブロ

このドラマの感想(ネタバレ含む)はアメブロのこちらに書きました。

放送前
第2話
第3話
第4話
第5話
第6話
第7話

馬場ふみかさんの写真集 ■

同じ人類で、ここまで美しい女性がいるのかと、感動しました!!
最強の被写体であり、たっぷりと曲線美が堪能できます。
「スタイル抜群」とか「ナイスボディ」などといった言葉ではとても収まりきらない程の美しさで、まさに神の造形です。
女性の方で、ファッションに興味のある方でしたら服(水着も含め)の着こなし方や見せ方、角度、ポーズ、表情など凄く勉強になりますので、男女ともに楽しめる写真集です。「好きな男性を振り向かせたい」という女性の方にとって、女性としてのお手本になる写真集だと思います。
私は、資格試験やプログラミング学習のリフレッシュに、馬場ふみかさんの写真集を見て、目の保養にしています。参考書と共に、馬場ふみかさんの写真集を勉強のお供にしていて、楽しく勉強が出来たお陰で、実際にIT系国家資格の基本情報技術者試験(以下FE)に高得点一発合格(点数)出来ました。
20年以上前の平成初期ぐらいに(大学生〜新社会人の頃)情報二種や初級シスアドに2度も落ちてしまった私でさえFEに1発合格が出来たのは、精神的な面で、馬場ふみかさんの写真集やドラマやCM、SNSなどの芸能活動が支えになったからです。
私にとって馬場ふみかさんは、まさに勝利の女神様です!!

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

Pythonで乱数を使って採点。ドラマDIVE!!で水泳飛び込み競技の採点をしてみた。

この記事を読むことで、 Pythonでの乱数の作り方、randrange、randintの違い、小数での乱数を発生させるuniformの使い方を学べます。乱数を7つ作って配列に格納します。また、下記の内容も同時に習得できます。

・基本的なループと内包表記でのループの書き方を対応
・リストに格納された乱数を昇順に並べ替える方法
・リストから必要な要素を取り出すスライスの使い方

・乱数を小数点1桁まで表示させる方法
・乱数を0.5刻みに発生させる方法
・関数を呼び出して戻り値として値を格納
・IF文の復習
・引数を関数に渡して分岐してメッセージを表示

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

この記事では、プログラミングの具体例として、水泳の飛び込みの点数を求め方を用います。

飛び込みの採点は、採点者が7名で、0.0点から10.0点までを0.5点刻みで採点して、上位2つ、下位2つを除いた【真ん中の3つの点数の平均点】が、その選手の得点になります。その選手とは、「この記事をご覧のあなた自身」だと思って読み進めて行ってください。

ループでランダムな数の点数7つ分をリストに格納して、リストを昇順に並び替えます。
リストの添字は0から始まるので、添字0の要素が最低点、リストの最後の添字6の要素が最高点になります。点数の低い添字0,1と、点数が高い添字5,6は使いません。

なので、飛び込みの採点に必要な添字は、リストの真ん中の2,3,4になります。
これらの平均点が、選手の採点になります。

その点数によって、水泳飛び込み青春ドラマの麻木夏陽子コーチの評価が変わるよう、IF文で分岐させて表示しています。

まず、randomモジュールをインポートして、randintを使って0から10までの7つ乱数を発生させてリストに追加します。ループを7回回すことによって乱数発生とリストへの追加が可能になります

ループの基本のコードでの実行結果とコードです。

import random

#点数を格納するリストarrayを宣言
array=[]

#採点員7人分の点数を乱数で発生させ、その点数をリストarrayに格納
for i in range(7):
    array.append(random.randint(0,10))

print(array)

このループの部分を内包表記を使うことによって、シンプルに書き換えられます。
forの所を対応せせて見てください。内包表記でのコードと実行結果です。
リストarrayの宣言も一緒に1行にまとめられます。

import random

#ここが【内包表記】
array=[random.randint(0,10) for i in range(7)]

print(array)

では次に、randrangeで1から10までの乱数を同じように発生させます。ただし、書き方は、

random.randrange(1,11)

と書いて、11未満すなわち、1〜10までの乱数を発生させます。
コードと実行結果です。

import random

#randrangeでの【引数の最後を11】と指定している
array=[random.randrange(0,11) for i in range(7)]

print(array)

このように、randintとrandrangeでは引数の指定の仕方が異なります。
では、「0〜10.0」までの範囲で小数点を含む数の乱数を発生させるには、

random.uniform(0,10.0)

になります。
コードと実行結果です。

import random

#0〜10.0までの小数を7つ発生させている
array=[random.uniform(0,10.0) for i in range(7)]

print(array)

数えると7つの乱数が発生出来ているのですが、桁が多すぎてなんだか分かんないですね。
そこで、小数点1桁まで表示させるよう、round関数で指定します。

round(数値,桁数)

コードと実行結果です。

import random

#roundで乱数を小数点1桁まで表示
array=[round(random.uniform(0,10),1) for i in range(7)]

print(array)

では、更に0.5刻みで求めます。
求めた乱数に2を掛けて、それをint関数で整数にしてから2で割ると0.5刻みになります。

int(乱数*2)/2

コードと実行結果です。

import random

#乱数に2を掛けた数をint関数で整数にしてから2で割る
array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

print(array)

では、飛び込みの点数を求めるために、このリストを昇順に並び替えます。
先に実行結果を掲載します。

print(‘昇順に並び替える【前】\n’+str(array))

「昇順に並び替えるの前」と表示して改行とリストを連結させるのに、
バックスラッシュnで改行をして、str関数を使って表示させます。
Macの方は【option】+【¥】でバックスラッシュが表示されます。

sortedで並び替えを行います。

array=sorted(array)

あとは並び替え後のリストを表示します。
ここまでのコードです。

import random

#乱数に2を掛けた数をint関数で整数にしてから2で割る
array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

#並び替える前のリストを表示
print('昇順に並び替える【前】\n'+str(array))

#リストを昇順に並び替え
array=sorted(array)

#並び替えた後のリストを表示
print('昇順に並び替えた【後】\n'+str(array))

では、スライスを使って、mid_arrayというリストに、添字2,3,4のみを格納します。
スライスの使い方は下記のように[2:5]と指定すると2から5未満、つまり、2,3,4の中央値3つが入ります。

mid_array=array[2:5]

では、3つの中央値の平均を求めます。
Pythonでは、このたった1行で求まります。

score=round(sum(mid_array)/len(mid_array),1)

これは、リストmid_arrayの合計を求めて、長さが3となるlen(mid_array)で割ることによって、平均点を求めています。

import random

#乱数に2を掛けた数をint関数で整数にしてから2で割る
array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

#並び替える前のリストを表示
print('昇順に並び替える【前】\n'+str(array))

#リストを昇順に並び替え
array=sorted(array)

#並び替えた後のリストを表示
print('昇順に並び替えた【後】\n'+str(array))

#スライスを使ってリストから中央の値のみを残す
mid_array=array[2:5]

#リストの中央値のみを出力
print('リストの【中央値】のみ\n'+str(mid_array))

#3つの中央値から平均点を求めて、それを選手の得点とする
score=round(sum(mid_array)/len(mid_array),1)

#選手の点数を表示
print('あなたの飛び込みの点数は【'+str(score)+'】点です。')

では、ここまでの処理を関数にして呼び出せるように書き換えました。
関数にしておくと、各処理の管理が便利になります。
関数名はscoringにしました。最後の行で関数を呼び出しています。

import random

#飛び込みの採点をする関数
def scoring():

    #7人の採点員の点数を0.0〜10.0まで0.5刻みの乱数を発生させて求めている
    array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

    #並び替える前のリストを表示
    print('昇順に並び替える【前】\n'+str(array))

    #リストを昇順に並び替え
    array=sorted(array)

    #並び替えた後のリストを表示
    print('昇順に並び替えた【後】\n'+str(array))

    #スライスを使ってリストから中央の値のみを残す
    mid_array=array[2:5]

    #リストの中央値のみを出力
    print('リストの【中央値】のみ\n'+str(mid_array))

    #3つの中央値から平均点を求めて、それを選手の得点とする
    score=round(sum(mid_array)/len(mid_array),1)

    #選手の点数を表示
    print('あなたの飛び込みの点数は【'+str(score)+'】点です。')

    #得点を戻り値として、呼び出し元に戻る
    return score


#採点する関数scoringを呼び出してスコアを変数scoreに代入する
score=scoring()

実行結果です。

次に、麻木夏陽子コーチが、あなたの得点に応じて評価をします。
点数が5.0未満、7.0未満、8.0未満、その他(高得点を得ると麻木夏陽子コーチから「ハートマークが!」)
麻木コーチが評価する関数をjudgeとします。
下記がコードです。

#麻木夏陽子コーチの評価の分岐の関数
def judge(x):
    if x<5.0:
        msg='辞めるの!?'
    elif(x<7.0):
        msg='覚悟しなさい!!'
    elif(x<8.0):
        msg='やるじゃない。'
    else:
        msg='さすがね(ハート)あなたしかない武器がある!!'            

    print('麻木夏陽子コーチ:「'+msg+'」')

先ほど作った採点する関数から、あなたの飛び込みの得点が求まりました。
その得点を引数にして、今回の関数judgeを呼び出して仮引数としてxに渡して、点数によって麻木コーチからの評価が分岐されます。

では、全てのコードです。

import random

#飛び込みの採点をする関数
def scoring():

    #7人の採点員の点数を0.0〜10.0まで0.5刻みの乱数を発生させて求めている
    array=[int(round(random.uniform(0,10),1)*2)/2 for i in range(7)]

    #並び替える前のリストを表示
    print('昇順に並び替える【前】\n'+str(array))

    #リストを昇順に並び替え
    array=sorted(array)

    #並び替えた後のリストを表示
    print('昇順に並び替えた【後】\n'+str(array))

    #スライスを使ってリストから中央の値のみを残す
    mid_array=array[2:5]

    #リストの中央値のみを出力
    print('リストの【中央値】のみ\n'+str(mid_array))

    #3つの中央値から平均点を求めて、それを選手の得点とする
    score=round(sum(mid_array)/len(mid_array),1)

    #選手の点数を表示
    print('あなたの飛び込みの点数は【'+str(score)+'】点です。')

    #得点を戻り値として、呼び出し元に戻る
    return score


#麻木夏陽子コーチの評価の分岐の関数
def judge(x):
    if x<5.0:
        msg='辞めるの!?'
    elif(x<7.0):
        msg='覚悟しなさい!!'
    elif(x<8.0):
        msg='やるじゃない。'
    else:
        msg='さすがね(ハート)あなたしかない武器がある!!'            

    print('麻木夏陽子コーチ:「'+msg+'」')


#採点する関数scoringを呼び出してスコアを変数scoreに代入する
score=scoring()

#麻木夏陽子コーチがあなたを評価する関数judgeを呼び出す
judge(score)

では、実行します。

悲し〜〜〜〜

はい!コーチ!!

やる気ガッツガツ!!!

嬉しすぎて言葉が出なくて、*@$%&+++++++++++++!!!

今回扱ったプログラミングの具体例は、水泳の飛び込みの青春ドラマでHiHiJetの井上瑞稀さん、作間龍斗さん、高橋優斗さんのトリプル主演のドラマです。

私の推し、麻木コーチ役は、馬場ふみかさん!
麻木夏陽子で「かよこ」だから、小宮プロからは「かよごん」って呼ばれていて、ボケツッコミが面白かったです。

ドラマDIVEの相関図です。
この相関図は公式なものではなく、私がパソコンを買い換えたことをきっかけにPowerPointで作ってみた私的な作品です。

以下、ドラマDIVEのサイトです。

公式サイト
公式アメブロ

チョコランマ級に大好きな、ふみふみ(=馬場さん)の色気が目の保養です(=^x^=)このドラマの感想(ネタバレ含む)はアメブロのこちらに書きました。

放送前
第2話
第3話
第4話
第5話
第6話
第7話

好きなことを題材にプログラミングをするのって、時間が経つのを忘れるぐらい面白いですね。気づいたら外、真っ暗です(=^x^=)

このプログラムを利用した続編として、麻木コーチが3人の中から代表を選ぶプログラムも作りました。

馬場ふみかさんの写真集 ■

同じ人類で、ここまで美しい女性がいるのかと、感動しました!!
最強の被写体であり、たっぷりと曲線美が堪能できます。
「スタイル抜群」とか「ナイスボディ」などといった言葉ではとても収まりきらない程の美しさで、まさに神の造形です。
女性の方で、ファッションに興味のある方でしたら服(水着も含め)の着こなし方や見せ方、角度、ポーズ、表情など凄く勉強になりますので、男女ともに楽しめる写真集です。「好きな男性を振り向かせたい」という女性の方にとって、女性としてのお手本になる写真集だと思います。
私は、資格試験やプログラミング学習のリフレッシュに、馬場ふみかさんの写真集を見て、目の保養にしています。参考書と共に、馬場ふみかさんの写真集を勉強のお供にしていて、楽しく勉強が出来たお陰で、実際にIT系国家資格の基本情報技術者試験(以下FE)に高得点一発合格(点数)出来ました。
20年以上前の平成初期ぐらいに(大学生〜新社会人の頃)情報二種や初級シスアドに2度も落ちてしまった私でさえFEに1発合格が出来たのは、精神的な面で、馬場ふみかさんの写真集やドラマやCM、SNSなどの芸能活動が支えになったからです。
私にとって馬場ふみかさんは、まさに勝利の女神様です!!

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

Pythonで正義のヒーロー「変なおじさん」(関数とデフォルト値)

この記事を読むことによって、Pythonの関数で引数に何も指定しない時は、決まった値(デフォルト値)を与える処理が理解できる様になります。
今回具体例として使うのは、職業に何も入れないと「会社員」と表示される例です。

例えば引数の名前の所に「サトウ」さんを指定して、引数の職業の所に何も入れないと「サトウさんは会社員です。」と表示され、引数の名前の所に「志村」さん、引数の職業の所に「変なおじさん」と指定すると、「志村さんは変なおじさんです。」と表示されるプログラムを作りました。

だっふんだ!!

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

早速ですが、全コードと結果を掲載します。

def jobs(name,job='会社員'):
    print('【'+name+'】さんは【'+job+'】です。')

jobs('サトウ')
jobs('ヤマダ')
jobs('坂本龍馬','幕末の土佐藩士')
jobs('タナカ')
jobs('志村けん','変なおじさん')
jobs('タカハシ')
jobs('両津勘吉','警察官')

サトウさん、ヤマダさん、タナカさん、タカハシさんは、関数jobsに名前だけを引数として指定して、職業はデフォルト値の「会社員」と表示されました。

それで、坂本龍馬さん、志村けんさん、両津勘吉さん(こちら葛飾区亀有公園前派出所、通称こち亀の両さん)にはそれぞれの職業の引数を指定しているので、「幕末の土佐藩士」、「変なおじさん」、「警察官」と表示されたことが確認できました。

突然ですが、皆さんには子供の頃、ヒーローっていましたか?
私が小学生の時のヒーローは、志村けんさんでした。
今でもヒーローです。

志村さんが新型コロナでお亡くなりになって1年経ちました。
全力で変なおじさんをやって下さった姿は、今でも忘れられません。

そこで、プログラミングを学ぶものとして追悼の思いも込めて、Pythonの関数、デフォルト値を使って、変なおじさんを表示してみました。

最後に「バカ殿」のイラストで締めたいと思います。
バカ殿が五郎丸選手のルーティーンをやっていた姿も面白かったです。

最後まで読んでくださって、ありがとうございました。
あなたを愛しています。

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

MacでPythonの環境構築とHello World及び関数で計算と日本語

Python自作サンプル集へ
これからプログラミングを始める方へ
メインメニューに戻る
息抜きに、写真で癒し(=^・^=)

Pythonの進捗状況(私のロードマップ)

編集用

MacでPythonの環境設定をしました。

「独習Python」という本に沿って行いました。

ターミナルの起動は、ランチパッドのところにカーソルを置いて、トラックパッドのところで親指と、人差し指・中指・薬指の3本を摘むようにして起動したら人差し指と中指の2本でトラックパッドを右にスワイプすると「その他」が出てくるので、その中にあるターミナルを選びます。

よく使うので、Dockに入れます。

・Python
・Anaconda

これらをそれぞれの本家からDLして、ここで一旦再起動!!

その後コマンドプロンプトでversionを確認します。

それから下記のインストールを行います。

・VS code

VS Codeは、インストールしたらアイコンをDockに入れます。

それでは、お決まりのハローワールドにちょっと文字を足して動作させてみます。
VS codeで、pylessonというフォルダを作って、test.pyというファイルを作成しました。

では、実行してみます。

cd pylesson
で、ターミナルで保存先のフォルダpylessonに移動させます。

ファイルがあることを確認するのにls(小文字のLと小文字のS)コマンドを使います。
これはWindowsのコマンドプロンプトでいうdirに相当します。

実行は「python test.py」と打ちます。

すると、上の図の赤枠のように実行されました。

次は、指定した数を2倍する簡単な関数を使ってみます。
18782(イヤナヤツ)を2倍してみます。

実行結果です。
37564(ミナゴロシ)になりました。

では、日本語で「世界の皆さん、こんにちは」を表示してみます。

# coding: utf-8

を冒頭に書きます。

実行してみます。

これで環境構築のテストが終わったので、無事にPythonの勉強が出来そうです。

Python自作サンプル集へ
これからプログラミングを始める方へ
メインメニューに戻る
息抜きに、写真で癒し(=^・^=)

WindowsからMacへパソコン買い換え

メインメニューに戻る
これからプログラミングを始める方へ
プログラミングと資格
息抜きに、写真で癒し(=^・^=)

※Macを使っていて目が疲れる、とお悩みの方は、こちらの記事をご覧下さい。
私はnight shiftモードを設定しました。
macOSのダークモード設定やブルーライトカット機能で目に優しい生活

また、細かい色の設定は(例えば少し黄色みを帯びた設定にしたいなど)、システム環境設定(歯車マーク)→デスクトップからこちらを選びます。

【補正】を押します

アプリ開発の第一歩としてWindowsからMacへパソコンを買い換えることに致しました。
購入場所はアキバヨドバシ。
Mac売り場で、初めてのMacに興奮して、はしゃいじゃってしまいました(⌒-⌒; )
後々役立ったのが、店員さんが教えて下さった、USB変換アダプタです。
Mac純正の物をヨドバシのポイントを使って購入しました。

その他、パソコンの買い換えで役立った物を紹介します。

●はじめてのマック2020
この2020の部分は、下記リンクから最新のものに飛べると思います。
Macの設定からMac初心者がつまづく所を分かりやすくポイントを絞って書かれているので、
Mac購入を決めた1から2ヶ月前ぐらいにこの本を購入して準備して置いたので、スムーズに行きました。
ランチパッドの3本指とか、すげーすげーってなっていました。

●カスペルスキー
基本情報技術者試験で、ガッツリとセキュリティを勉強したので、このセキュリティソフトにしました。
高機能なのにシンプルで使いやすいです。

●Office365
ビジネスでは必須。あと、Excelは特に、Pythonで使うかも。

Windowsではアクセサリにあった付箋アプリ、Macではアップルストアから「付箋」で検索したら、「Pocomemo」というアプリが見つかりました。

こんな感じでシンプルに使えます。

その他、写真をやっている者として、Apple Storeから無料で入手出来て「神アプリ」だと思うのは、
「Photo Pad写真編集ソフト」です。
操作が直感的に分かりやすく、Macの写真アプリやファインダーの書類に保存した写真の編集に使えます。

●Mac備忘録

ここから先は、Macを使って発見したことを備忘録として記録します。

・Google Chromeでタブを複数開いた時に左右のタブに移動する
  Windowsで言う、Ctrl +Tab に当たるのが、Macではoption+command+→
  Shift+Ctrl+Tabに当たるのが、option+command+←です。

・Google Chromeで前のページに戻る
  Windowsで言うAlt+←に当たるのがMacで言うとcommand+←です。

・複数画面を開いた時にデスクトップなどに切り替え
  トラックパッド三本指で下から上に 

メインメニューに戻る
これからプログラミングを始める方へ
プログラミングと資格
息抜きに、写真で癒し(=^・^=)