0

これはPythonでの私の式です

数学関数 f(x) = -5 x5 + 69 x2 - 47 を実装します。

数学関数を定義する

def math_formula(x):

# This is the formula
    math_formula = -5 * (x**5) + 69 *(x**2) - 47
    return math_formula

範囲内の値を出力します

for value in range (0,4):
    print 'For f(',(value),')', 'the number is:' , math_formula(value)

print ''    
print ('The the maximum of these four numbers is:'), max(math_formula(value))

この関数は、f(0) から f(3) までのすべての数値を返します。

誰かが次の質問に答えることができます: なぜこの出力は最大数を返さないのですか?

print ('The the maximum of these four numbers is:'), max(math_formula(value))

範囲内の大きい方の負の数を返します。最大の正の数を返す方法がわかりません。正の最大数を返す方法。

4

4 に答える 4

4
max(math_formula(value) for value in range(0, 4))
于 2013-04-24T09:48:20.280 に答える
1

max()シーケンスに取り組む必要があります。すべての計算のリストを渡す必要があります。このバリエーションを試してください:

results = []
for value in range(0, 4):
    print 'For f(',(value),')', 'the number is:' , math_formula(value)
    results.append(math_formula(value)) # add the value to the list

print ''
print 'The maximum of these four numbers is:', max(results)

math_formulaメソッドを単純化することもできます。

def math_formula(x):
    return -5 * (x**5) + 69 *(x**2) - 47
于 2013-04-24T09:47:52.450 に答える
1

試す:

max((math_formula(value) for value in xrange(0,4)))

編集

通訳の場合:

max([math_formula(value) for value in range(0,4)])
于 2013-04-24T09:49:29.660 に答える