永发信息网

python 区分输入的数字是奇数还是偶数

答案:2  悬赏:50  手机版
解决时间 2021-04-10 06:49
  • 提问者网友:星軌
  • 2021-04-09 23:08
def even_only(l):
"""
PRE: l is a list of integers.
POST: l remains unchanged AND the function returns a new list containing all (and only) the even elements of l.
"""

#- test harness: do not modify -#
l1 = [1, 3, 6, 10, 15, 21, 28]
l2 = [1, 4, 9, 16, 25]

ret1 = even_only(l1)
print ret1 # should be "[6, 10, 28]"
print l1 # should be "[1, 3, 6, 10, 15, 21, 28]"

ret2 = even_only(l2)
print ret2 # should be "[4, 16]"
print l2 # should be "[1, 4, 9, 16, 25]"

完善程序。。谢谢大侠。。。。
最佳答案
  • 五星知识达人网友:笑迎怀羞
  • 2021-04-09 23:32
def even_only(l):
    y=[]
    for i in l:
        if i%2==1:
            y.append[i]
    return y
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-04-10 00:16
说明: python输入的内容在内部全部为字符串,所以要判断这个字符串是否为一个数字。大多法内部函数并不能对各种形式的数据做出正确判断,例如isdigit()函数只能判断字符串是否为纯数据组成对于负数则无效了。所以可以使用float()来检测,对各种数字的表示方法都有效果。 方法代码: #定义函数 def isnub(s): try: nb = float(s) #将字符串转换成数字成功则返回true return true except valueerror as e: return false #如果出现异常则返回false #测试 print(isnub('123')) print(isnub('abc')) print(isnub('123.123')) print(isnub('-123.123')) print(isnub('-1.609e-19')) 测试结果如下: true false true true true
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯