0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Progate無料版をやってみる【Python I】

Last updated at Posted at 2020-03-19

前回に引き続きProgate無料レッスンをやっていこうと思います。

今回はPythonになります。

未経験です。
インタープリタ言語。
JavaScriptみたいなノリでやればいいのかな?w

#Python I
公式レッスン

###環境構築
Progateにインストール手順がありました。
→ https://prog-8.com/docs/python-env-win

インストール後はVSCodeで書いて、実行していきたいと思います。
参考にさせていただきました。
VS CodeでPython環境を整える

レッスンに戻ります。

###文字列
・お決まりの文字列出力
 Pythonでは

print

を使用するらしい。

print('Hello World')

image.png

###数値・計算してみよう
・いつもの・・・+ - * / %

###変数・変数を使ってみよう・変数の値を更新してみよう・文字列の連結
・いつものやつ・・・。

文字列連結は

'{}_{}_{}'.format(1,2,3) # 1_2_3

が主流なんですかね?

**【コメントで指摘いただきました。】**
今はこのように書けるそうです。

a, b, c = 2020,3,20
print(f'今日は{a}{b}{c}日です')

VSCodeの結果
image.png
** **

###データ型
・文字と数値の連結には型変換が必要。
 Rubyもそうでしたねたしか・・・?
 C#やjavaは勝手に文字になるんですけどねぇ

str(数値)で文字列
int(文字列)で数値

###条件分岐
・うーん。==とイコールを2重にするけど、:を使用したり、{}ブロックがなくてわかりにくい・・・。すこし冗長になったり、ifが多くなった場合にわかりづらくなるのではないか・・・。

###真偽値・比較演算子
・いつものの為、省略

###else・elif
・Pythonではelif・・・。
 ほかの言語とごちゃごちゃになる。
else if elseif elsif elif

うわぁあああああああああああああああああ
参考にさせていただきました。
主要な web 系言語の else if

**【コメントで指摘いただきました。】**
else ifは1つの条件分岐ではなく、elseに連続してifが記載されただけのものでありelsifelifとは別物。
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ではandor他の使い方ができます
※コメントで教えていただきました。

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('りんごを買えませんでした')

image.png

クリアしました
image.png

#感想
・まためっちゃ短く終わってしまった・・・。
・Rubyと一緒ですごく簡単にプログラミングできるけど、演算子や条件分岐のやり方が独特すぎて、個人的にはRubyのほうがいいですね。

いずれ機械学習とかもやってみたいので、その時にまたPythonやろうと思います。

次回はコマンドラインをやっていきたいと思います。
→ 次回

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?