はじめに
どうもこんにちは.Qiita初記事です.
今回はプログラミング初心者,Python初心者を対象とし,演算子と基礎的な文法が扱えるようになることを目標とします.
また,シリーズを通して最終的にはpythonで大体のことができる(超大雑把)ようになることを目標としています.写経するもよしコピペして動作確認するもよしといった記事にするつもりです.
なお,私の環境はPython 3.10.10となっていますので,もしこれ以降に示すスクリプトが動かない場合はバージョンを確認してみてください.
ちなみにバージョンを確認するコマンドは以下の通り.
python3 -V
基本構文と演算子,文法
演算子について
以下の表に基本的な演算子を示します.
演算子 | 意味 |
---|---|
+ | 和 |
- | 差 |
* | 積 |
/ | 商 |
% | 剰余 |
// | 商の切り捨て |
** | 累乗 |
それではこのコマンドを実行してみよう!!!
Pythonを実行するにはテキストエディタ等でファイルの拡張子を .py にして保存->実行してみましょう!
print("10 + 9 = ",10 + 9) #和を出力
print("10 - 5 = ",10 - 9) #差を出力
print("10 * 9 = ",10 * 9) #積を出力
print("10 / 9 = ",10 / 9) #商を出力
print("10 % 9 = ",10 % 9) #剰余を出力
print("10 // 9 = ",10 // 9) #商の切り捨てを出力
print("10 ** 9 = ",10 ** 9) #累乗を出力
実行方法はファイルがあるディレクトリまで移動->python3 filename
で実行できる.
hogehoge@MacBook-Pro-3 PythonBeginner1 % python3 samplecode1.py
10 + 9 = 19
10 - 5 = 1
10 * 9 = 90
10 / 9 = 1.1111111111111112
10 % 9 = 1
10 // 9 = 1
10 ** 9 = 1000000000
このスクリプトではprint
の()で囲まれた部分を画面に出力している.
使用している演算子は上の表の通り.
基本文法
「演算子について」でも述べたが画面に何か文字を出力するときはprint()
を用いる.
ここではprint()
関数の使い方について記す.
print()
関数は()内の文字列や数字列を出力する.当然のことながらそれらの値が代入された変数の場合でも同様である.また,リストや辞書の要素を指定せずに出力させると全体が出力され,リストや辞書の後ろに[要素]
をつけることでリストの任意の要素を出力することが可能である.
以下にサンプルコードを示す.なお,出力結果はコメントで示している.
print('this is a pen')
# this is a pen
st = 'this is a apple'
print(st)
# this is a apple
list1 = [0,1,2,3]
print(list1)
# [0,1,2,3]
print(list1[0])
# 0
print(*list1)
# 0 1 2 3
dec = {'a':1,'b':2,'c':3}
print(dec)
# {'a': 1, 'b': 2, 'c': 3}
print(dec['b'])
# 2
なお,リスト名の前に*
をつけるとリストの要素がそれぞれ展開され個別の引数が出力される.
ここで用いているリストと辞書については後々解説をしようと思います.
文末を改行なしで出力する
引数end
に任意の文字を指定するとその文字が改行の代わりに出力される.
例えば連続する文字列を改行なしで出力する場合,空文字として``
を指定すれば良い.
以下にこれらのことを活用したサンプルコードを示す.
print('hoge',end='fuga')
print('moga')
# hogefugamoga
print('apple',end='')
print('mikan')
# applemikan
複数変数を出力する
print()
関数に変数,数値や文字列をカンマ区切りで引数として与えるとデフォルトではスペースで区切られて出力される.また,引数でsep
を指定すると区切り文字を任意の文字に変更することができる.リスト名に*をつけ,個別の引数として出力したときもこれが使える.
また,改行文字を\n
とすることで値や変数ごとに改行することもできる.
以下にサンプルコードを示す.
i = 100
str = 'this is'
print(str,'apple', i, 0.123, sep='-')
# this is-apple-100-0.123
print(str,'apple', i, 0.123, sep='\n')
# apple
# 100
# 0.123
list2 = [1,2,3,4]
print(*list2, sep='')
# 1234
print(*list2, sep='-')
# 1-2-3-4
条件分岐処理
Pythonでは条件を判断して分岐処理を行うにはif文を用います.
以下に条件分岐の例を示します.
if 条件式1:
条件式1が真の時に実行する文
...
elif 条件式2:
条件式1が偽で条件式2が真の時に実行する文
...
elif 条件式3:
条件式1及び条件式2が偽で条件式3が真の時に実行する文
...
else:
すべての条件式が偽のときに実行する文
...
上記の例の通り,ifでは条件式1が「真」なら字下げされた条件式1が真の時に実行する文が実行され,条件式1が「偽」で尚且つ条件式2が「真」の時,字下げされた部分に書かれている命令が実行される.また,どの条件にも当てはまらない時,else:の字下げされた部分に書かれている命令が実行される.
以下にif文を用いたサンプルコードを示します.
x = 10
if x > 5:
print("xは5より大きいです")
else:
print("xは5以下です")
# xは5より大きいです
# サンプルコード2: 複数の条件
y = 7
if y < 5:
print("yは5より小さいです")
elif y == 5:
print("yはちょうど5です")
else:
print("yは5より大きいです")
# yは5より大きいです
# サンプルコード3: 複数の条件と論理演算子の組み合わせ
z = 12
if z > 10 and z % 2 == 0:
print("zは10より大きく、偶数です")
elif z > 10 and z % 2 != 0:
print("zは10より大きく、奇数です")
else:
print("zは10以下です")
# zは10より大きく、偶数です
ちなみに条件文では論理演算子と組み合わせも可能です.
繰り返し処理
pythonで繰り返し処理を行うにはfor文,またはwhile文を用います.
繰り返し処理を用いる際は処理対象や条件に応じてfor文とwhile文を使い分けるようにしましょう.
for文
for文は、イテラブル(例: リスト、タプル、文字列)の各要素に対して繰り返し処理を行うのに適している.
サンプルコードを以下に示す.
numbers = [1, 2, 3, 4, 5]
for number in numbers:
print(number)
この例ではリストnumbersの各要素が順番に変数numberに代入され、それをprint()関数で表示している.
for i in range(5):
print(i)
range(5)は0から4までの整数を生成し、各値が変数iに代入されて繰り返し処理されます
while文
whileループは,指定した条件がTrueの間,繰り返し処理を行う.
サンプルコードを以下に示す.
counter = 0
while counter < 5:
print(counter)
counter += 1
この例では,counterが5未満の間,counterの値を表示し,その後に1ずつ加算する.
また,whileループは条件が満たされる限り続く.
while文を扱う際に注意したいのが,whileループの中で条件が常にTrueである場合,無限ループになる可能性があることである.無限ループを防ぐためには,適切な条件でwhileループを終了させるようにしましょう.
最後に
ここまでの構文等は今後pythonの学習を進めていく中で必要不可欠なので理解していくようにしましょう.
また,今回示したサンプルコードは私のGithub(https://github.com/xx-mikusan-xx)
にもありますので参考にしてみてください.
また,この記事が理解できたならば九九表が作れるようになっているはずです.
構文を応用して作ってみましょう.
ではでは〜