Python 不会正确检测函数循环 if 语句
Python won't detect function loop if statement correctly
我有以下代码
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],如果它说没有数字我需要再次 运行 循环。同样发生的是,如果我在第一次尝试时得到一个数字,它会停止并正常工作,但如果我没有得到数字,它会再次尝试,如果它得到一个数字,它会继续运行。
cleannum
是一个列表,您要查找第一个元素的前 6 个字符是否为 ACCESS,而不是列表的前 6 个元素(永远不会等于字符串)
reply = cleanNum[0][:6]
不确定我是否理解你的问题。但是如果你提到的数组是“cleanNum”,那么你应该在这里使用cleanNum[0][:6]。
我有以下代码
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],如果它说没有数字我需要再次 运行 循环。同样发生的是,如果我在第一次尝试时得到一个数字,它会停止并正常工作,但如果我没有得到数字,它会再次尝试,如果它得到一个数字,它会继续运行。
cleannum
是一个列表,您要查找第一个元素的前 6 个字符是否为 ACCESS,而不是列表的前 6 个元素(永远不会等于字符串)
reply = cleanNum[0][:6]
不确定我是否理解你的问题。但是如果你提到的数组是“cleanNum”,那么你应该在这里使用cleanNum[0][:6]。