CodeWars 03: Calculating with Functions
10764 ワード
問題の説明
This time we want to write calculations using functions and get the results. Let's have a look at some examples:
せいげんじょうけん There must be a function for each number from 0 ("zero") to 9 ("nine")
0から9までの各数値に対応する関数 を作成します. There must be a function for each of the following mathematical operations: plus, minus, times, dividedBy (divided_by in Ruby and Python)
4つの演算で機能する関数のセットを作成します. Each calculation consist of exactly one operation and two numbers
1つの計算式は、1つの算術関数と2つの数値関数を正確に含むべきである. The most outer function represents the left operand, the most inner function represents the right operand
一番外側の関数は計算式の左側にあり、一番奥の関数は計算式の右側にあります. Division should be integer division. For example, this should return 2, not 2.666666...:
除算演算の結果値は整数でなければなりません.例えば、2.6666.結果値が「」の場合は、「2」を返します. I/O例は簡単そうに見えますが、メモリに格納される概念は考慮されていません.これは長い時間がかかる問題です. の3つの演算子を使用して、戻り値を2つのケースに分けます.None(関数が入力されていない場合)とNone(入力関数)です. 関数が入力されていなければ、1つの数字を返すだけで、ない場合は、1つの関数(プラス記号(...))を返すので、パラメータとして名前に対応する(two=2)数字を返すだけです. lambdaを使用して算術関数を記述し、各関数は演算に一致する関数を返します. 論理の流れを表示するために、2(プラス記号(1()))という例を作成します.
one()には関数のパラメータがないので、None条件文でfunc inの場合は1を返します.
plus(1)の戻り値はlambda x:x+1である.Lambda式はメモリに格納されます. 2(プラス(1))では、one()とは入力パラメータが異なります.先ほど保存したlambda x:x+1ここで返されるfunc(2)はplus(2)ではないことに注意してください.plus(2)ではなく保存されているlambda x:x+1したがって、x=2であるため、lambda x:2+1は3を返す.
This time we want to write calculations using functions and get the results. Let's have a look at some examples:
seven(times(five())) # must return 35
four(plus(nine())) # must return 13
eight(minus(three())) # must return 5
six(divided_by(two())) # must return 3
(例を参照)数値名が書かれた関数と算術関数を作成し、関数callで演算式を完了します.せいげんじょうけん
0から9までの各数値に対応する関数
4つの演算で機能する関数のセットを作成します.
1つの計算式は、1つの算術関数と2つの数値関数を正確に含むべきである.
一番外側の関数は計算式の左側にあり、一番奥の関数は計算式の右側にあります.
除算演算の結果値は整数でなければなりません.例えば、2.6666.結果値が「」の場合は、「2」を返します.
eight(divided_by(three())) 결과값 : 2
に答えるdef zero(func = None):
return 0 if func is None else func(0)
def one(func = None):
return 1 if func is None else func(1)
def two(func = None):
return 2 if func is None else func(2)
def three(func = None):
return 3 if func is None else func(3)
def four(func = None):
return 4 if func is None else func(4)
def five(func = None):
return 5 if func is None else func(5)
def six(func = None):
return 6 if func is None else func(6)
def seven(func = None):
return 7 if func is None else func(7)
def eight(func = None):
return 8 if func is None else func(8)
def nine(func = None):
return 9 if func is None else func(9)
def plus(y):
return lambda x: x+y
def minus(y):
return lambda x: x-y
def times(y):
return lambda x: x*y
def divided_by(y):
return lambda x: x//y
one()には関数のパラメータがないので、None条件文でfunc inの場合は1を返します.
plus(1)の戻り値はlambda x:x+1である.Lambda式はメモリに格納されます.
Reference
この問題について(CodeWars 03: Calculating with Functions), 我々は、より多くの情報をここで見つけました https://velog.io/@keywookim/CodeWars-03-Calculating-with-Functionsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol