from math import sin, pi
def I1(n, a, b):
try:
h = (b-a)/n
summe = 0
if a < b:
for k in range(0, n-1):
summe += sin(a+(k + 0.5)* h)
summe *= pi/n
print("Das Integral von",a ,"bis", b,"entspricht ungefähr:" , summe)
else: print("Beachte, die untere Grenze 'a' sollte kleiner als die\
obere Grenze 'b'")
except TypeError:
h = 1000
a = 0
b = pi
我的问题是如果给定的三个变量是emtpy,如何检查Def I1(n,a,b)。有人可以帮忙吗?我尝试过try / except和“如果n是None,a是None,b是None”。
答案 0 :(得分:0)
尽可能忠实于你提供的东西,我最终得到了这个。
from math import sin, pi
def I1(n, a, b):
if n is None and a is None and b is None:
h = 1000
a = 0
b = pi
n = # ?
else:
h = (b - a) / n
summe = 0
if a < b:
for k in range(0, n - 1):
summe += sin(a + (k + 0.5) * h)
summe *= pi / n
print("Das Integral von", a, "bis", b, "entspricht ungefähr:", summe)
else:
print("Beachte, die untere Grenze 'a' sollte kleiner als die obere",
"Grenze 'b'")
如果所有参数都为None,则假设您要设置默认值。但是,我不确定那个条件是你正在寻找的。如果我不得不猜测你的意图,我会用这样的东西代替条件。
if n is None:
n = 1000
if a is None:
a = 0
if b is None:
b = pi
h = (b - a) / n
或者,如果你想确定它们是数字而不仅仅是没有,你可以做这样的事情。
if not isinstance(n, int) and not isinstance(n, float):
n = 1000
if not isinstance(a, int) and not isinstance(a, float):
a = 0
if not isinstance(b, int) and not isinstance(b, float):
b = pi
h = (b - a) / n