← クエスト一覧

クエスト34:*argsで可変長引数

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 34 / 85

クエスト34:*argsで可変長引数

発展 +10 XP
🏠
今回の課題
*args を使った total 関数を作って、total(1, 2, 3, 4, 5) の合計 15 を表示しよう。
📖 解説を見る
📦 *argsって何?

引数に * をつけると、いくつでも引数を受け取れるようになります。受け取った値はタプルにまとまります。

✏️ 書き方:
def show_all(*args):
    for x in args:
        print(x)

show_all('あ', 'い', 'う')

呼び出したときの args の中身は ('あ', 'い', 'う') というタプルになります。

📋 作るもの:
・関数名は total、数をいくつでも受け取れるようにする
・受け取った数をぜんぶ足した合計を return で返す
total(1, 2, 3, 4, 5) なら 15 が返る

💡 どこで使う?

受け取る個数が決まっていないときに使います。じつは print() 自体が *args の形で、いくつでも値を並べられます。合計・最大・平均を求める関数や、まとめて記録するログ関数など、「何個でもOK」にしたい場面で活躍します。

⚠️ ポイント:
args はタプルとして受け取る
・名前は args でなくてもよいが、*args が慣習
ヒントを見る
引数名の前に * を付けると、いくつでも受け取れてタプルになるよ。タプルの合計は sum() で出せる。
期待する出力
15
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: *argsで受け取った全要素を1行ずつ表示するshow(*args)を作ってshow('a','b','c')を実行しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
a b c
未挑戦

問題 2: *argsで受け取った数の最大値を返すmy_max(*args)を作ってmy_max(3,7,1,9,4)を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
9
未挑戦

問題 3: *argsで受け取った数の平均を返すaverage(*args)を作ってaverage(10,20,30)を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
20.0
コピーしました!