如何在 Python 的用户定义函数中检查传递给它的列表 [] 仅包含整数? [重复]

问题描述 投票:0回答:3

我正在尝试查看列表是否包含整数:

def fun(a):
    if a[:] == int:
        print('Sum of elements', sum(a))
        print('Minimum number ', min(a))
        print('Maximum number ', max(a))
        print('Length of elements', len(a))
    else:
        print('Give integers list only')

list = [1,2,3,4,5,'hi']
fun(list) 

输出:

**Output :** *Give integers list only*
python list function user-defined-functions
3个回答
1
投票

您需要逐项检查类型。将

if a[:]==int:
替换为

if all(isinstance(n, int) for n in a):
    ...

在你的定义中。


0
投票
def fun(a):
    for value in a:
        if not isinstance(value, int):
            print('Give integers list only')
            break 
    else:
        print('Sum of elements', sum(a))
        print('Minimum number ', min(a))
        print('Maximum number ', max(a))
        print('Length of elements', len(a))

0
投票

你可以遍历它并使用

is_integer()
如果在任何时候失败,则返回错误

© www.soinside.com 2019 - 2024. All rights reserved.