【问题标题】:Check if input is empty检查输入是否为空
【发布时间】:2018-05-26 10:05:58
【问题描述】:
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

我的问题是如果给定的三个变量是空的,如何检查 Def I1(n, a, b)。有人可以帮忙吗?我试过 try/except 和“如果 n 是 None 并且 a 是 None 并且 b 是 None”。

【问题讨论】:

  • 为什么你的代码在图片中?为什么你的问题中没有文字?
  • 我遇到了一些格式错误......
  • 粘贴,选择它并按下{}按钮。
  • 检查是否全部或至少一个为空?

标签: python function variables input


【解决方案1】:

尽我所能忠实于您提供的内容,我最终得到了这个。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2013-03-05
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2010-12-23
    相关资源
    最近更新 更多