練習問題:数値計算で腕試し
Pythonの学習を始めた方にとって、変数の扱いや数値計算は避けては通れない重要な基礎です。四則演算や変数の使い方をしっかり理解していないと、プログラムで計算結果が狂ってしまったり、意図した動作にならないことがよくあります。そこで今回は、数値計算に関する練習問題を通じて、変数や演算に対する理解度を高めていきましょう。
1. Pythonにおける数値型と演算の基礎
Pythonで扱う代表的な数値型には以下があります:
- 整数型 (
int
) - 浮動小数点数型 (
float
) - 複素数型 (
complex
) (初心者段階ではあまり使われません)
最もよく使われるのは整数と浮動小数点数です。整数はそのままの数字、浮動小数点数は小数点を含む数値を格納できます。
Pythonが提供する主な演算子は以下の通りです:
+
:加算-
:減算*
:乗算/
:除算(結果は常に浮動小数点数)//
:整数除算(結果は整数部分のみ)**
:べき乗%
:剰余(余り)
これらの演算子を組み合わせて計算する際、Pythonは四則演算の優先順位(乗算・除算が先、加算・減算が後)を自動で考慮してくれます。また、必要に応じて括弧 ()
を使うことで、任意の順序で演算を行うこともできます。
2. 変数を使った計算例
変数とは、プログラム内で使う数値や文字列などのデータを一時的に保存しておく“箱”のようなものです。次のように書くことで、変数に値を代入し、演算に活用できます。
x = 10 # 整数
y = 3.5 # 浮動小数点数
sum_value = x + y
product_value = x * y
print(sum_value) # 13.5
print(product_value) # 35.0
上記の例では、x
と y
という変数を用意し、加算 (+
) や乗算 (*
) を行いました。Pythonでは変数を宣言する際、特別な構文は必要なく、いきなりx = 10
のように書けばOKです。
3. 数値計算に関する練習問題
ここからは、実際に手を動かしてみることで数値計算の理解を深めましょう。以下の問題にトライしてみてください。
- 変数
a
とb
を用意し、それぞれ任意の整数値を代入してください。
その後、a + b
,a - b
,a * b
,a / b
,a // b
,a % b
の結果をすべて表示するプログラムを書いてください。 - 変数
r
を半径として、円の面積を計算してください。ただし、円周率は3.14159
とします。
面積の公式:π × r^2
(r
二乗) - 変数
x
,y
,z
にそれぞれ任意の整数を入れ、その平均値を計算して表示してください。
(ヒント:平均値は(x + y + z) / 3
で求められます) - 二次方程式
ax^2 + bx + c = 0
の解の公式を使って、x
の値を求めるプログラムを書いてみましょう。
解の公式:x = (-b ± sqrt(b^2 - 4ac)) / (2a)
a
,b
,c
に適当な値を入れて、実際に動作を確認してみてください。
Pythonの標準ライブラリmath
のsqrt()
関数を使うと、平方根を求められます。
これらの問題は、特に難解なアルゴリズムを必要とするわけではありませんが、変数・演算子・演算結果の違いをしっかり理解しているかどうかが試されます。整数と小数が混在するケースで結果がどのように変化するかも、同時に確認してみましょう。
4. 練習問題の解答例
一通りチャレンジした後、下記のサンプル解答例を参考にしてください。答えは一意ではないので、あくまでも一例としてご覧ください。
import math
# 1. 基本演算
a = 15
b = 4
print("a + b =", a + b) # 19
print("a - b =", a - b) # 11
print("a * b =", a * b) # 60
print("a / b =", a / b) # 3.75
print("a // b =", a // b) # 3
print("a % b =", a % b) # 3
# 2. 円の面積
r = 3
pi = 3.14159
area = pi * (r ** 2)
print("円の面積 =", area)
# 3. 平均値
x = 10
y = 20
z = 30
average = (x + y + z) / 3
print("平均値 =", average)
# 4. 二次方程式の解
a_coef = 1
b_coef = -5
c_coef = 6
discriminant = b_coef**2 - 4*a_coef*c_coef
if discriminant 0:
print("虚数解が存在します。")
else:
x1 = (-b_coef + math.sqrt(discriminant)) / (2 * a_coef)
x2 = (-b_coef - math.sqrt(discriminant)) / (2 * a_coef)
print("解 x1 =", x1, ", x2 =", x2)
上記コードはあくまでも例です。a
, b
, r
, x
, y
, z
など、自由に値を変えて計算結果がどう変わるかを確認してみると理解が一段と深まるでしょう。また、float
と int
の混在による型変換に注意しながら試すのもおすすめです。
5. まとめと次のステップ
数値計算の基礎はプログラミングの基盤となる重要なスキルです。今回の練習問題を通じて、
- 整数と浮動小数点数の基本的な違い
- 四則演算をはじめとした演算子の使い方
- 変数を使った計算方法
などを確認していただけたと思います。こうした基礎が身につけば、より複雑なロジックを組む際もスムーズに理解できるはずです。
今後は以下のような発展的な学習にもトライしてみてください:
- 浮動小数点誤差に関する問題と、その対策(
decimal
モジュールなどの活用) - 大きな数値の扱い方(Pythonは任意精度整数を標準でサポート)
- 繰り返し構文や条件分岐を用いた、もう少し複雑な計算プログラムの実装
小さな練習問題を積み重ねることで、着実に力がついていきます。ぜひチャレンジを続けてみてください。