演習課題「複数行の入力」
右のコードエリアには、標準入力から受け取った値を半角スペース区切りでリストにした li が用意されています。
map 関数を使い、浮動小数点数型で受け取れるようこのコードを修正してください。
期待する出力値
[2.1, 3.8, 5.2]
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#07:複数列の入力値を map 関数でそれぞれ整数値に変換
このチャプターでは、複数列の入力値を map 関数でそれぞれ整数値に変換する方法を学習します。
- map 関数を使うと、指定した関数をイテラブルの各要素に使ったときに得られる値を要素にもつ map 型の値を取得できる
a = map(int, ["1", "2", "3"])
print(a)
- map 関数を使ったときに得られる map 型の値に list 関数を使うと、リスト型に変換した値を取得できる
a = list(map(int, ["1", "2", "3"]))
print(a)
- 次のコードのように書くことで、
1 2 3
のような入力値を整数値のリストとして扱うことができる
a = list(map(int, input().split()))
print(a)
備考
input().split()
: 入力値を空白文字で区切ってリストを生成するmap(int, ...)
: 1. で生成されたリストの各要素に int 関数を使ったときに得られる整数値を要素にもつ map 型の値を生成するlist(...)
: 2. で生成された map 型の値をリストに変換したときの値を生成する
- map 型の値はイテラブルなため、アンパックすることができる
a, b, c = map(int, ["1", "2", "3"])
print(a, b, c)
1 2 3
のように 3 つの数値が半角スペース区切りで入力されるとわかっているとき、次のコードのように書くことで、それぞれの値を整数値に変換して変数に代入できる
a, b, c = map(int, input().split())
print(a, b, c)
備考
input().split()
: 入力値を空白文字で区切ってリストを生成するmap(int, ...)
: 1. で生成されたリストの各要素に int 関数を使ったときに得られる整数値を要素にもつ map 型の値を生成するa, b, c =
: 2. で生成された map 型の値を各変数にアンパックする
ログインすると採点できます
コードの実行