0
の条件がFalse
の場合、再帰的なメソッドを呼び出して呼び出しようとしています。 COUNT_NUM
が0である方法は、単に自分自身を繰り返し続け、両方print
のメソッドは無限ループに入ります
ない私はあなたがしているので、あなたが無限ループに実行されている間違った
import urllib.request
from bs4 import BeautifulSoup
URL = input("Enter URL: ")
COUNT = input("Enter count: ")
POS = input("Enter position: ")
def retrieveNames(url, count=1, position=1):
""" Retrieves a name from url """
POSITION_NUM = int(position)
COUNT_NUM = int(count)
if (POSITION_NUM< 1): return
html = urllib.request.urlopen(url).read()
soup = BeautifulSoup(html, "html.parser")
tags = soup("a")
countNum = COUNT_NUM - 1
tag = tags[POSITION_NUM-1]
print("COUNT:", countNum > 0)
while countNum > 0:
retrieveNames(tag.get("href"), countNum, position)
print(tag.contents[0])
return
retrieveNames(URL, COUNT, POS)
'while count> 0:'を 'if count> 0:'に置き換えたいと思うかもしれません。さもなければ、whileループは 'count> 0'なら永遠に実行されます。あるいは、代わりに 'count = COUNT_NUM-1'の代わりに' while'ループ内で 'count - = 1'を設定してください。 –
OK、 'count'変数は、別の名前にする必要がありますが、' count> 0'はFalseを返します。それでは、どうやってループを続けますか? :/ –
@JimFasarakisHilliardあなたはそれを詳述できますか? whileループの条件が偽であるため、それがどうなるかわからない –