1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pythonのmax関数

Posted at

codewars 8kyuのExpression matterを解いた時に重要だったmax関数について解説していきたいと思います。

この問題は、expressionsMatterという関数を作り、
a,b,cにどの数字が入ってもその数値が最大になるような式を考えないといけない問題です。
例えば、a、b、c全てに1が代入されたとします。
この場合a+b+cだと3、abcだと1ですよね?
そのため、足し算の式がアウトプットされるようにします。
しかし、a,b,cに10が入ると、掛け算の方が数値が大きくなりますよね。
数値によって最大値が変わってしまいます。
では、どのようなcodeを書けば最大値だけを求められるのでしょうか?

##max関数

def expressionsMatter(a,b,c)
    return max(a+b+c,a*b*c,a*(b+c),(a+b)*c)

このようにcodeを書けば、どの数値がa,b,cに入っても最大値が求められます。
ここで重要なのが、max関数でカッコの中に全ての式のパターンを書くことです。

ここで注意なのが、returnを何回も使わないということです。
returnは関数内の処理を終了させる性質を持っているので、1番最初のreturn文しか機能しません.
そのため、いくつもカッコ内の式があるからといって、

return(a+b+c)
return(a*b*c)
...

といくつもreturn文を書かないようにしましょう。

以上になります。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?