【发布时间】:2023-04-03 23:00:01
【问题描述】:
代码是:
import requests
from time import sleep
import webbrowser
from termcolor import colored
print(colored('Lowest Priced Limited\n---------------------\n', 'green'))
while True:
lowestprice = 1234567890
for limited in requests.get('https://search.roblox.com/catalog/json?Category=2&Subcategory=2&SortType=4&Direction=2').json():
price = int(limited['BestPrice'])
if price < lowestprice:
limitedname = limited['Name']
limitedurl = limited['AbsoluteUrl']
lowestprice = price
print(colored(f"{limitedname}: {lowestprice}\n{limitedurl}\n"))
sleep(1)
if lowestprice <= 300:
webbrowser.open(limitedurl, new=2)
如您所见,最后一个 if 语句打开了 URL。但是,由于它位于 for 循环中,因此它会一遍又一遍地重新打开。如何让它只打开一次,同时保持其余代码仍在运行?不是破坏整个代码并打开 URL,而是打开 URL 一次,并保持代码运行。
【问题讨论】:
标签: python loops for-loop if-statement