社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在Python中遍历十进制数的元素

Mike • 3 年前 • 1369 次点击  

我想在Python中传递一个转换为十进制的整数。然后我需要检查十进制数中的每一个单位数是否为奇数或偶数。例如,如果整数是534(但也可以是任何整数),转换为十进制时仍然是534。现在,如果我试着遍历这个小数点来检查5是奇数还是偶数,那么3是奇数还是偶数,然后4是奇数还是偶数。如果所有数字都是偶数,则为真,否则为假。 当我尝试遍历十进制数时,我得到一个错误“decimal is not iterable” 无论如何,我创建了一个程序来实现这个目的,但我需要将十进制转换为字符串。由于要求使用十进制,所以我认为我的解决方案可能不符合要求。

提前谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131172
 
1369 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Derek
Reply   •   1 楼
Derek    3 年前

这并没有那么简单,但就我所能测试的而言,它似乎是有效的。

一个错误修复应该删除分数中多余的0。

它变得越来越混乱,但我必须假设会出现某些输入错误,并将其过滤掉。比如进入1。或1或1.1000,例如,


def find_Odd_Even(m):
    try:
        n = list(str( m ))
        if n.count(".") < 2:
            if n.count(".") == 0:
                n.extend([ ".", "0" ])
            elif n.index(".") == len(n) - 1:
                n.append("0")
            b = n.index(".")
            BB = "".join( n[ b+1: ] )
            while len(BB) > 1:
                k = BB.removesuffix("0")
                if k == BB:
                    break
                else:
                    BB = k
            AA = int("".join( n[ :b ] ))
            BB = int( BB )
            if AA&1 == 1 or BB&1 == 1:
                answer = f"{m} is an odd number"
            else:
                answer = f"{m} is an even number"
        else:
            answer = "Bad input"
    except Exception as err:
        answer = str(err)
    finally:
        return answer

while 1:
    m = input("Enter an decimal number: ")
    if m == "":
        break
    else:
        print(find_Odd_Even( m ))