【问题标题】:Python won't detect function loop if statement correctly如果语句正确,Python 不会检测到函数循环
【发布时间】:2023-03-19 19:18:01
【问题描述】:

我有以下代码

def numTest():
    getNum = "https://sms-activate.ru/stubs/handler_api.php?api_key=" + api + "&action=getNumber&service=go&country=3"
    numReq = requests.get(getNum)
    smsNum = numReq.text
    cleanNum = smsNum.split(":")
    print(cleanNum)
    reply = cleanNum[:6]
    if reply == "ACCESS":
        numID = cleanNum[1]
        smsNo = cleanNum[2].replace("1", "", 1)
        print(numID)
        print(smsNo)
    else:
        numTest()

运行代码时,它无法正确检测到回复。因此 API 可以取回诸如 ['ACCESS_NUMBER', '379609689', '12165419985'] 或此 ['NO_NUMBERS'] 之类的东西 如果它是第一个,我需要拆分它并保留数组 [1] 和 [2],如果它显示 No Numbers,我需要再次运行循环。同样发生的情况是,如果我在第一次尝试时得到一个数字,它会停止并正常工作,但如果我得到 No numbers,它会再次尝试,如果它得到一个数字,它会继续运行。

【问题讨论】:

    标签: python python-3.x list python-requests python-3.8


    【解决方案1】:

    cleannum 是一个列表,您要查找前 6 个字符是否为 ACCESS,而不是列表的前 6 个元素(永远不会等于字符串)

    reply = cleanNum[0][:6]

    【讨论】:

      【解决方案2】:

      不确定我是否正确理解了您的问题。但是如果您提到的数组是“cleanNum”,那么您应该在这里使用 cleanNum[0][:6]。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-23
        • 2014-01-14
        • 2019-03-17
        • 1970-01-01
        相关资源
        最近更新 更多