見出し画像

#31 3つの数の最小値を求める

● 問題

入力した3つの数の最小値を求めます。
エラーが発生します。

for i in range(3):
    num = input('0より大きい数を入力してください')
    if float(num) < min:
        min = float(num)
print('最小値は'+str(min)+'です')

● 解答

if float(num) < min で TypeError が発生します。
入力される数は整数とは限らないので,float関数を使って文字列を小数(浮動小数点数)に変換していますが,変数minが初期化されていないため,比較ができません。
変数minの初期化には,次の2つの方法が考えられます。

minの初期値 = ユーザーの最初の入力値 とする方法

num = input('0より大きい数を入力してください')
min = float(num)
for i in range(2):
    num = input('0より大きい数を入力してください')
    if float(num) < min:
        min = float(num)
print('最小値は'+str(min)+'です')

minの初期値 = 無限大 とする方法

min = float('inf')
for i in range(3):
    num = input('0より大きい数を入力してください')
    if float(num) < min:
        min = float(num)
print('最小値は'+str(min)+'です')

#Python  #プログラミング

この記事が気に入ったらサポートをしてみませんか?