Download de toepassing
Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.
Kies uit één tot 64 URL-breedteparen met weergavebreedte 1–10000 en dichtheid van 1/4 tot 8. Test exacte drempels en terugval naar de grootste kandidaat, en weiger dubbele breedtes of verkeerde getallen zonder de URL op te halen.
Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.
Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.
Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
import math
def image_candidate(candidates, width, ratio):
if type(width) is not int or not 1 <= width <= 10000 or type(ratio) not in (int, float) or not 0.25 <= ratio <= 8 or not math.isfinite(ratio):
raise ValueError("image.viewport")
if type(candidates) is not list or not 1 <= len(candidates) <= 64:
raise ValueError("image.candidates")
sizes, seen = [], set()
for pair in candidates:
if type(pair) not in (list, tuple) or len(pair) != 2:
raise ValueError("image.pair")
url, pixels = pair
if type(url) is not str or not 1 <= len(url) <= 2048 or any(ord(c) < 32 or ord(c) == 127 for c in url):
raise ValueError("image.url")
if type(pixels) is not int or not 1 <= pixels <= 100000 or pixels in seen:
raise ValueError("image.size")
seen.add(pixels)
sizes.append((pixels, url))
sizes.sort()
target = width*ratio
return next((url for pixels, url in sizes if pixels >= target), sizes[-1][1])
Controleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.