如果语句正确,Python将不会检测函数循环

2024-06-17 10:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码

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],如果它没有数字,我需要再次运行循环。如果我在第一次尝试时得到一个数字,它就会停止并正常工作,但如果我没有得到数字,它会再次尝试,如果它得到一个数字,它就会继续运行


Tags: 代码httpsapiaccessdef数字replyprint
2条回答

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

reply = cleanNum[0][:6]

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

相关问题 更多 >