如何检查数字是否为1、14或144的串联 - python

我已经设法获取代码来检查它是1、14还是144的串联,但是这里的主要问题是,当我打印144441之类的数字时,当它应该给出“否”时返回“ YES”。

只要至少有3个4夹在2个之间(即14441、14444444444441、1444441),就会出现此问题

def magic_num(N):
    magic = N

    while magic in range(1,1000000001):
        if (magic % 1000 == 144):
            magic /= 1000
        elif (magic % 100 == 14):
            magic /= 100
        elif (magic % 10 == 1):
            magic /= 10
        else:
            return"NO"

    return "YES"

N = int(input("Enter an integer between 1 and 10^9: "))
print(magic_num(N));

参考方案

我真的建议使用RegEx(正则表达式)来解决此问题。您可以这样简单地进行操作:

import re

regex = r"^(1+4{,2})+$"
def is_concatenation(N):
    return re.match(regex, str(N)) is not None

让我们在一些测试用例中测试此功能:

>>> is_concatentaion(1)
True
>>> is_concatentaion(14)
True
>>> is_concatentaion(144)
True
>>> is_concatentaion(1444)
False
>>> is_concatentaion(14414)
True
>>> is_concatentaion(14414111)
True
>>> is_concatentaion(144414111)
False
>>> is_concatentaion(144441)
False
>>> is_concatentaion(14444444444441)
False
>>> is_concatentaion(1444441)
False

Python:检查是否存在维基百科文章 - python

我试图弄清楚如何检查Wikipedia文章是否存在。例如,https://en.wikipedia.org/wiki/Food 存在,但是https://en.wikipedia.org/wiki/Fod 不会,页面只是说:“维基百科没有此名称的文章。”谢谢! 参考方案 >>> import urllib >>> prin…

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…