Lesson 1
入力、印刷、数字
1. Pythonでの読み書き方法
すべてのプログラムは最終的にデータ・プロセッサーなので、データの入出力方法を知っておく必要があります。任意のPythonプログラムからデータを出力する関数print()
が存在します。それを使用するには、 print()
関数に出力する引数のコンマ区切りのリストを渡します。例を見てみましょう。プログラムが行ごとにどのように実行されているかを確認するには、「実行」と「次へ」を押します。
print(5 + 10) print(3 * 7, (17 - 2) * 8) print(2 ** 16) # 累乗には2つの星が使用されます(2の16の累乗) print(37 / 3) # 単一のスラッシュは除算です print(37 // 3) # 二重スラッシュは整数除算です # 除算の商(剰余がない)のみを返します。 print(37 % 3) # パーセント記号はモジュラス演算子です # それは、左の値の残りを右の値で割ったものを与える
プログラムにデータを入力するために、 input()
を使用しinput()
。この関数は、1行のテキストをStringとして読み取ります。
ユーザーの名前を読み取って挨拶するプログラムです:
print('What is your name?') name = input() # 1行を読み込んで変数 "name"に格納する print('Hi ' + name + '!')
2. 数字と文字列の合計
2つの数値を入力して合計を出力するプログラムを作成しようとします。代入演算子=
を使用して、2つの数値を読み取り、変数a
とb
格納します。代入演算子の左側に変数の名前を入れます。名前は、ラテン文字( AZ
、 az
、 0-9
、 _
)の文字列でも0-9
ませんが、範囲AZ
またはaz
文字で始まる必要があります。代入演算子の右側に、Pythonが評価できる任意の式を記述します。評価の結果を指す名前が始まります。この例を読んで実行し、出力を見てみましょう:
a = input() b = input() s = a + b print(s)
この例を実行すると、 57
印刷されていることがわかります。私たちが学校で教えたように、 5 + 7
は12
を与えます。だから、プログラムは間違っているので、なぜそれを理解することが重要です。問題は、3行目s = a + b
Pythonは2つの文字列ではなく2つの文字列を「合計」しています。 Pythonの2つの文字列の合計は、次のように動作します。また、「文字列連結」と呼ばれることもあります。
右の変数インスペクタで、変数a
とb
バインドされている値が引用符で囲まれていることがわかりますか?つまり、値は文字列であり、数値ではありません。文字列と数字はPythonで異なって表現されます。
Pythonのすべての値は「オブジェクト」と呼ばれます。すべてのオブジェクトには特定のタイプがあります。番号2は、タイプ「int」のオブジェクト「番号2」(すなわち、整数)に対応する。文字列'hello'
は、 "str"型のオブジェクト "string 'hello'"に対応します。すべての浮動小数点数は、 "float"型のオブジェクトとして表されます。オブジェクトのタイプは、それに適用される操作の種類を指定します。たとえば、 "first"
と"second"
の2つの変数がint
型のオブジェクトを指している場合、Pythonはそれらを掛けることができます。しかし、もしそれらがstr
型のオブジェクトを指していれば、Pythonはそれを行うことができません:
first = 5 second = 7 print(first * second) # 一重引用符または二重引用符を使用して文字列を定義することができます first = '5' second = "7" print(first * second)
数字の文字列を整数にキャスト(変換)するには、関数int()
使用できます。たとえば、 int('23')
は値23
intオブジェクトを返します。
上記の情報が与えられれば、不正な出力を修正し、2つの数値の合計を正しく出力できるようになりました。
a = int(input()) b = int(input()) s = a + b print(s)