まず、どんなプログラムが必要か考えましょう。
関数とそれを呼び出したり結果を受け取って処理する本体が必要という事は分かっているんですよね?
では、まず関数です。
必要な機能は
- 動物名リストを定義(下にリストの定義場所について説明あり)
- 受け取った引数の動物が存在するかどうかチェックする機能
- チェックした結果を戻す機能
関数が戻す値は、存在するかどうかですので、True(真),False(偽)つまりBool型で返します。
次に、本体部分です。
必要な機能は
- 関数にチェックしたい動物名を渡す機能
- 関数からの返答を受け取る機能
- 受け取った値(戻り値)を元に表示する機能
関数に動物名を渡す時の指定方法については、値(動物名)を直接渡すか変数を渡すかになりますが、値を直接渡すと値を変更する際に融通が利かなくなるので通常は変数で渡します。
要は違う動物をチェックしようとした時にプログラムを書き換える事にるからでです。
今回の例では分かりにくいですが、そのうち分かりますので関数に渡す値は「極力」変数にすると覚えておけばいいです。
もちろん、例外も当然あります。
あと、考慮すべきは、チェックされる動物名のリストが必要ですが、これをどこで定義するか?です。
グローバル変数にする、関数内のローカル変数にするなどがありますが・・・
本来グローバル変数にするのが妥当かもしれないリストですが、理解度のレベルから推測すると下手にグローバル変数を使うと、以降何でもグローバル変数にする癖が付きそうなので、関数内のローカル変数がいいのかな?と思います。
ここまで分かればプログラムはほぼ自動的に以下のように決まります。
python
1# 関数部分
2def test(動物名):
3 name = ["ねずみ","うし","とら","うさぎ"]
4 # 判定プログラムを書いて、判定結果に応じてTrueかFalseを返す
5
6# 本体部分
7チェックしたい動物 = "ねずみ"
8判定結果 = test(チェックしたい動物) # 関数呼び出し
9# 判定結果に応じて整形した結果文を出力する
補足
0. 便宜上、日本語変数名を使っていますがあまり使わない方がいいです。
0. 関数名・変数名を質問の内容に合わせていますがあまりよくないです。
testという関数名はそれだけでは何を意味するかわかりませんし、nameというリスト名は何の名前か分からないのと、リストであれば複数形にしないとコードを読む時に混乱の原因になります。