所以我知道如何定義的功能,但我不知道如何輸出兩個結果,其中t=0
和t=1
。如何根據蟒蛇一個公式計算並輸出多個結果?
這裏是我的代碼:
from math import exp
from math import pi
from math import sin
def g(t):
a = exp(-t)
b = sin(pi*t)
g = a*b
return g
t=0
print(g)
所以我知道如何定義的功能,但我不知道如何輸出兩個結果,其中t=0
和t=1
。如何根據蟒蛇一個公式計算並輸出多個結果?
這裏是我的代碼:
from math import exp
from math import pi
from math import sin
def g(t):
a = exp(-t)
b = sin(pi*t)
g = a*b
return g
t=0
print(g)
g
是一個函數。 print(g)
從字面上打印該功能對象。 print(g(t))
打印在t
評價函數g
。所以,你要這個的g
後定義:
print(g(0)) # Print g evaluated at t=0
print(g(1)) # Print g evaluated at t=1
不要做g = a * b
。將它重命名爲h
。通過這樣做,你重新定義g
意味着什麼在局部範圍內,可以得到不同的混淆。函數也是對象!
爲了您g
功能,您使用共有3箇中間變量。通常,具有中間變量對於可讀性是有用的。在這裏,這是沒有必要:
def g(t):
return exp(-t) * sin(pi * t)
(這使得類似的任務更加反正...)
@ user8673326:除了HyperNeutrino對分配'G = A * B',你可能只是想用'返回* B',而不是一個名字都曾經賦予這個值註釋。 –
@ZachGates這是真的;無論如何,我想重寫整個'g'函數:P我會加入它,謝謝你提醒我 – HyperNeutrino
如果你想在將來調用函數多次,你可以把你的論點成列表,這樣做:
for arg in [0, 1]:
print(g(arg))
此外,您可以直接返回值,而無需重新分配給g
:
def g(t):
a = exp(-t)
b = sin(pi*t)
return a*b
Python使用的元組從一個函數返回多個值:
def two_vals():
return 11,22
>>> two_vals()
(11, 22)
您可以使用元組擴展到多個值分配給多個命名值:
>>> g1, g2=two_vals()
>>> g1
11
>>> g2
22
所以。重寫你的函數,使它計算出兩個值。兩者都返回(如列表,元組,字典,無論數據結構),你有你的兩個值進行打印。
然而,爲了完成這個任務,你可能只是叫g
兩次並放入一個字符串打印:
def g(t):
a = exp(-t)
b = sin(pi*t)
g = a*b
return g
def both_g_str():
return "g(0): {}, g(1): {}".format(g(0), g(1))
你不能只打印'g'!正如你所說的,你想要打印'g(0)'和'g(1)'。計算機不知道這一點,除非你告訴它。 –
爲什麼你使用三個單獨的進口?你可以使用'從數學導入exp,pi,sin'。 –