鱼C论坛

 找回密码
 立即注册
查看: 2952|回复: 4

[已解决]函数问题求助

[复制链接]
发表于 2022-11-5 23:56:47 | 显示全部楼层 |阅读模式
9鱼币
写一个函数,实现isodd(x), 若x不是整数,给出提示后退出程序;如果x为奇数,返回True;如果x为偶数,返回False。

要求输入的是一个列表,而不是一个单一的值进行判断,判断的值也放入列表中
最佳答案
2022-11-5 23:56:48
def isodd(x):
    def is_odd(a):
        if a != int(a):
            return f'{a}不是整数!'
        return bool(a%2)
    return [is_odd(i) for i in x]

isodd([1, 2, 3])
[True, False, True]
isodd([1, 2, 3, 4.5])
[True, False, True, '4.5不是整数!']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-5 23:56:48 | 显示全部楼层    本楼为最佳答案   
def isodd(x):
    def is_odd(a):
        if a != int(a):
            return f'{a}不是整数!'
        return bool(a%2)
    return [is_odd(i) for i in x]

isodd([1, 2, 3])
[True, False, True]
isodd([1, 2, 3, 4.5])
[True, False, True, '4.5不是整数!']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-6 00:23:08 | 显示全部楼层
输入输出说清楚啊,你说x是个数,又说输入是个列表?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-6 08:43:18 | 显示全部楼层
isodd = lambda arr: ["x is not an integer" if type(x) != int else bool(x&1) for x in arr]
print(isodd([1, 2, 4, 8.95]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-6 18:45:18 | 显示全部楼层
本帖最后由 dragov 于 2022-11-6 21:02 编辑
def isodd(x):
    gyl=[]
    if type(x) == int:
        if x%2==0:
            gyl.append("False")
        else :
            gyl.append("True")
    else :
        gyl.append("您输入的不是整数!")
    print(gyl,end="  ")   
q=[4.2,5,4.9,8,3,6]
for i in range (len(q)):
    serendipitv=isodd(q[i])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 19:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表