プログラマー日本語教師への道

Web制作・プログラミング未経験の日本語教師がプログラミングを独学で勉強し、独立するアウトプットの場

【Day1】Python学習|Progate勉強内容まとめ・問題ミス

f:id:ryo1192:20210115112311j:plain

Pythonの学習一日目【Progate】

覚えることが多くて大変。

ブログを使って、ここに学習内容を記載し、Progateで間違えた問題をミス部分と一緒に記載

 

コンソールへの出力方法

まず初めに、

printを用いてコンソールに出力する

print('hello')のように括弧内に文字を入れていく。

文字を入れる際は ' (クオーテーション)または " (ダブルクオーテーション)を文字の前後に入れなければならない

これらを入れないと何も表示されなくなる。

 

#メモ

#を書くと何も表示されないメモ書きのような扱いになる

 

数値を出力するとき

数字を出力するときは文字の場合と異なる

Print(4)のように'(クオーテーション)の必要がない

 

文字計算

文字を計算する際には

+ 足し算

- 引き算

* 掛け算

/ 割り算

% 割り算のあまり

を使い数字に割り当てていく

 

print( 5 + 3)

のように表記する。

ポイントは二つ

  1. 同じくクオーテーションは使わない
  2. 記号前後はスペースを空ける

1クオーテーションを使うと文字として認識されるので

print('5+3')だったら

5+3という文字として出力される

 

2の記号前後のスペースは問題で何度も間違えたので、記号を入れたらスペースのように無意識に打つようにした方がいい

 

変数と値

HTML・CSSのように同じくタグのような考え方があり、

好きな名前の箱・タグ(変数)を作り、その中に物(値)を入れる

name  = 'jose'

=(イコール)を使って、右側の変数に左側入れるよ!という表記の仕方をする

これを変数名nameにjoseを代入する

と呼ぶみたい。=は同等という意味ではなく、Pythonでは代入する(右に左を入れる)

という考え方なので、同等と思わないように気をつけたい

 

数値、文字の場合も上記のようにクオーテーションを忘れないように!

 

変数名を出力

printで出力する際に、変数名を括弧の中に入れれば、変数名に代入した値を出すことができる

 

name = 'jose'

print(name)

 

のように書くと、joseが出てくる

※括弧内にクオーテーションは使わない!!

使うと、文字になってしまうから

 

変数名は英語

変数名は好きな名前と書いたが、英単語を使わなければならない

数であればCountなど。

しかし、変数名の中にはプログラムの名前で使われているものもあるので、知らないといけないよう。

まだ、始めたばかりでほとんど知らないので、存在するものをひとつずつ見ていくしかない

 

変数名同士の計算も可

足し算・掛け算・・・・

などの計算方法も直接使うことが可能

print(apple_count + orange_count)など

※ここでも注意しておきたいが、計算式の前後スペースが必要かもしれない。

正直わからないが、Progateの問題で答え合わせで間違い部分としてでていたので、一応わかるまでは空けておこう。

 

上から下へ更新される

変数名を常に更新することができるので、下に書いてあるものが、最新のものになる

上から順にみていけばいい。

 

データ型

これ結構苦手

文字と数字を区別しなければならず、一緒に出力ができない。

例えば、「今日は3回水を飲んだ」は

  • 今日は・回水を飲んだ
  • 3

の二つに分けて考えなければいけない。

 

文字→文字列型

数字→数値型

 

この二つを一緒に出力するにはどちらかを同じ属性に変える必要がある。

変換器を使うようなものかな?

それを型変換と呼ぶ

 

数値型→文字列型str()

文字列型→数値型int() 

 

price = 3

print('今日は水を' + price + '回飲んだ') これはダメ!数字と文字が混合してるから

 

print('今日は水を' + str(price) + '回飲んだ') priceを文字型に変える

 

  • 文章が二つなどに分かれる場合は前後にちゃんとクオーテーションを使う
  • 計算記号の前後はスペースを空ける

条件分岐

「もし~だったら」という条件を作ることができる

いくつもの条件を作ることができ、最終的にそれらの条件に当てはまらなかったら、これ。みたいなものをつくることができる

 

score = 100

if score == 100:

    print('OK')

のように書く

覚えるべき記号意味

ここで新しい記号が出てきた

== 等しい

!= 等しくないときTrue

< 

>

<=

>=

より大きい・小さい

より以上・以下

の使い方をする。中学校で習った通りだが、>=は=のあとに>の方がよくない?という突っ込みはしないでおく。

 

大切な注意点

if を使うとき2点間違えやすい注意点

  • 必ず:をifの行に使う
  • printは必ず4スペース空ける

 

条件分岐elifとelse

条件分岐でIfを使う際に、その他の条件、当てはまらない場合。を設定するときに

elif elseを使う。

条件追加はelif

すべて当てはまらないときはelse

 

条件の追加方法はifの時とほぼ一緒

:を忘れないこと!!

 

elseは条件を入れる必要がないので、そのままelse:のように書く。

else:と覚えておけば、どこに:をif elifにいれるのかわかりやすくなるので、このまま覚えた方がよさそう。

 

リスト

一つの変数に何個も代入することができる

name =['jose','maria','john']

のように複数入れられる

print(name)と書くとすべて出てくるので、何個目と指定して個別に出すこともできる

 

print(name[0])のように書く

注意点
  • []で挟むのと書く文字に' と,を忘れないように!
  • 数え方は0から

リストの更新と追加

リストの中身を書き換え・追加することができる

もちろん上から下へ見ていく。

 

name =['jose','maria','john']

のjoseをdaniに更新する場合

name[0] = 'dani'

と記入すると変更されている

この場合文字なので''を忘れないように!

 

リスト.append('追加する名前')

のように書く。するとリストの最後に追加されている

 

 

間違えた問題たち

x = 20
# 変数xが10以上30以下の場合に「xは10以上30以下です」と出力してください。
if 10 <= x and x <= 30:
print('xは10以上30以下です')

y = 60
# 変数yが10未満または30より大きい場合に「yは10未満または30より大きいです」と出力してください。
if y < 10 or 30 < y:
print('yは10未満または30より大きいです')

z = 55
# 変数zが77ではない場合に「zは77ではありません」と出力してください。
if not z == 77:
print('zは77ではありません')

 

数値→文字列にするかと思ったが、いらなかった

より大きいは含まない

以上が含む

 

# apple_priceという変数に数値200を代入してください
apple_price = 200

# countという変数に数値5を代入してください
count = 5

# total_priceという変数に、apple_priceとcountを掛けたものを代入してください
total_price = apple_price * count

# 「購入するりんごの個数は○○個です」となるように出力してください
print('購入するりんごの個数は' + str(count) + '個です')

# 「支払い金額は○○円です」となるように出力してください
print('支払い金額は' + str(total_price) + '円です')

文字列とSTRを組み合わせるときにつながり部分に「'」を必ずつける

 

まとめ

大体2時間ほどで終わることができた

文法をひたすら覚えるので、果たしてこれらがどうアプリ作成に使われるのかチンプンカンプンの状態であるが、とりあえずひたすら覚えていこう

 

勉強時間 2時間