繁体   English   中英

如何忽略在python中接受多个参数的函数中的字符串?

[英]How do I ignore a string in a function that accepts multiple arguments in python?

我正在尝试回答一个 Python 编程问题:

编写一个函数operate_nums ,计算所有其他输入参数的乘积,如果关键字参数negate (默认为False )为True则返回其负数,或者如果negateFalse则仅返回乘积。 该函数应忽略非数字参数。

到目前为止,我有以下代码:

def operate_nums(*args):
     product = 1
     negate = True

     for i in args:
         product = product * i

     if negate == True:
         return product * -1
     return product

如果我在参数中输入一组数字和字符串,将如何对其进行编码,以便我的代码忽略这些字符串?

使用isinstance可让您检查变量的类型。 正如@DarrylG 的评论之一所指出的,您可以使用Number作为参数是否是您要乘以的参数的指示符

from numbers import Number

def operate_nums(*args, negate=False):
    product = 1

    for arg in args:
        if isinstance(arg, Number): # check if the argument is numeric
            product = product * arg

    if negate == True:
            return product * -1

    return product

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM