2017-12-12 3 views
-6
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 

私の質問は、所定の3つの変数がemtpyである場合、Def I1(n、a、b)をチェックインする方法です。助けてもらえますか?私はtry/exceptと "nがNone、aがNone、bがNone"と試してみました。入力が空であることを確認してください

+6

あなたのコードはなぜ画像にありますか?なぜそれはあなたの質問にテキストではないのですか? –

+0

私はいくつかの書式設定エラーがありました.... – DerZaba

+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'") 

すべての引数が[なし]の場合は、デフォルトを設定するとします。しかし、あなたが探している状態であるかどうかはわかりません。私があなたの意図を推測しなければならない場合、私はこのような状態で条件を置き換えます。

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 
関連する問題