前回に引き続きProgate無料レッスンをやっていこうと思います。
今回はPythonになります。
未経験です。
インタープリタ言語。
JavaScriptみたいなノリでやればいいのかな?w
#Python I
公式レッスン
###環境構築
Progateにインストール手順がありました。
→ https://prog-8.com/docs/python-env-win
インストール後はVSCodeで書いて、実行していきたいと思います。
参考にさせていただきました。
→VS CodeでPython環境を整える
レッスンに戻ります。
###文字列
・お決まりの文字列出力
Pythonでは
print
を使用するらしい。
print('Hello World')
###数値・計算してみよう
・いつもの・・・+ - * / %
###変数・変数を使ってみよう・変数の値を更新してみよう・文字列の連結
・いつものやつ・・・。
文字列連結は
'{}_{}_{}'.format(1,2,3) # 1_2_3
が主流なんですかね?
**【コメントで指摘いただきました。】**
今はこのように書けるそうです。
a, b, c = 2020,3,20
print(f'今日は{a}年{b}月{c}日です')
###データ型
・文字と数値の連結には型変換が必要。
Rubyもそうでしたねたしか・・・?
C#やjavaは勝手に文字になるんですけどねぇ
・str(数値)
で文字列
・int(文字列)
で数値
###条件分岐
・うーん。==
とイコールを2重にするけど、:
を使用したり、{}
ブロックがなくてわかりにくい・・・。すこし冗長になったり、ifが多くなった場合にわかりづらくなるのではないか・・・。
###真偽値・比較演算子
・いつものの為、省略
###else・elif
・Pythonではelif
・・・。
ほかの言語とごちゃごちゃになる。
else if
elseif
elsif
elif
うわぁあああああああああああああああああ
参考にさせていただきました。
→主要な web 系言語の else if
**【コメントで指摘いただきました。】**
else if
は1つの条件分岐ではなく、else
に連続してif
が記載されただけのものでありelsif
やelif
とは別物。
Pythonではelse
に続けて1行でif
が書けないため、改行することになるが
if a == 2:
print('test')
else:
if a == 3:
print('test2')
上記のようにネストが深くなってしまうため、elif
を設けた・・・と理解しました。
仮にelse if
と1行で書けるような仕様だったら
{}
やthen end
が必要になったり
条件分岐の後に1行しか処理が書けなかったりするのかな。
(Pythonはインデントをそろえておけば複数書ける)
** **
###条件式を組み合わせよう
・独特すぎる。
&&
や ||
にしてほしかった・・・。
&&
→ and
||
→ or
!=
→ not ==
うーん。
Pythonではand
とor
他の使い方ができます
※コメントで教えていただきました。
message = "test1" and "test2" #test2が代入されます
message = "" and "test2" #""が代入されます
message = "test1" and "" #""が代入されます
message2 = "test3" or "test4" #test3が代入されます
message2 = "" or "test4" #test4が代入されます
message2 = "test3" or "" #test3が代入されます
理由:
・文字列の場合、""が偽、それ以外が正と解釈される
・and
は左の式が正の時、右の結果を返す → 1番目の式で"test2"、3番目の式で""
左が偽の時、左を返す → 2番目の式の結果
・or
は左の式が正の時、左を返す → 1番目の式で"test3"、3番目の式で"test3"
左が偽のとき、右を返す → 2番目の式で"test4"
JavaScriptの &&
や ||
の動作と同じですね!タブン
###代金を計算しよう
・特になし
###入力を受け取ろう
・input
で入力を受け取れるらしい。
C#でいうところのConsole.Read()
かな?
###条件分岐をしよう
演習
apple_price = 200
# 変数moneyに数値1000を代入してください
money = 1000
input_count = input('購入するりんごの個数を入力してください:')
count = int(input_count)
total_price = apple_price * count
print('購入するりんごの個数は' + str(count) + '個です')
print('支払い金額は' + str(total_price) + '円です')
# moneyとtotal_priceの比較結果によって条件を分岐してください
if money > total_price:
print('りんごを' + str(count) + '個買いました')
print('残金は' + (money - total_price) + '円です')
elif money == total_price:
print('りんごを' + str(count) + '個買いました')
print('財布が空になりました')
else:
print('お金が足りません')
print('りんごを買えませんでした')
#感想
・まためっちゃ短く終わってしまった・・・。
・Rubyと一緒ですごく簡単にプログラミングできるけど、演算子や条件分岐のやり方が独特すぎて、個人的にはRubyのほうがいいですね。
いずれ機械学習とかもやってみたいので、その時にまたPythonやろうと思います。