结尾非零数的奇偶性 分类: python 小练习 2013-12-02 18:04 371人阅读 评论(0) 收藏

描述:
给你一个正整数列表 L, 如 L=[2,8,3,50], 判断列表内所有数字乘积的最后一个非零数字的奇偶性,
奇数输出1,偶数输出0. 如样例输出应为0


#coding:utf-8

L=[2,8,3,50]
product=1
for i in L:
    product *=i

def main():
    global product
    while product:
        if product %10==0:
            product = product / 10
        else:
            if (product % 10) % 2 ==1:
                print 1
                break
            else:
                print 0
                break



if __name__ == '__main__':
    main()


#coding:utf-8

def main(l):
    g=lambda m,n:m*n
    r = reduce(g,l)
    print r
    #将数字转换成str类型,去除末尾的0后,取出最后一位数字
    num=int(str(r).strip()[-1])
    if num %2:
        return 1
    else:
        return 0

if __name__ == '__main__':
    L=[2,8,3,50]
    print main(L)

#coding:utf-8

def main(l):
    g=lambda m,n:m*n
    r = reduce(g,l)
    while 1 :
        #使用divmod函数,分别得到商、余数
        div = divmod(r,10)
        #如果余数为0,则将商赋给r,继续循环
        if div[1]==0:
            r=div[0]
        else:
            if div[1]%2:
                return 1
            else:
                return 0

if __name__ == '__main__':
    L=[2,8,3,50]
    print main(L)


posted @ 2013-12-02 18:04  前行者2011  阅读(232)  评论(0编辑  收藏  举报