도전 해주세요!


14

너무 지루해서 해결해야 할 과제를 원합니다. 그러나 나는 흥미로운 도전을 보지 못하고 하나를 찾기에는 너무 게으르다. (기술적으로 코드) 당신에게 하나를 제안 할 수 있습니까?


I / O

입력 : 없음

출력 : PPCG 에서 무작위 개방 (즉, 폐쇄되지 않은) 시도 ( "도전"은 ! 제외 )에 대한 링크입니다. 당신은 도전에 대한 답변으로 연결되지 않을 수 있습니다. (흥미로운 답변을 요청하지 않았습니다!)


유효한:

http://codegolf.stackexchange.com/questions/93288/make-me-a-mooncake
http://codegolf.stackexchange.com/questions/113796/raise-a-single-number
http://codegolf.stackexchange.com/questions/113898

유효하지 않은 :

http://codegolf.stackexchange.com/questions/78152/tips-for-golfing-in-matl (tips question)
http://codegolf.stackexchange.com/questions/113896/josephus-problem (closed)
http://codegolf.stackexchange.com/questions/84260/add-two-numbers/84365#84365 (linked to answer)

http://codegolf.stackexchange.com/questions/93288/대신에 출력 할 수 있습니까 http://codegolf.stackexchange.com/questions/93288/make-me-a-mooncake(도전 이름 부족).
user41805

@Kritixi Lithos는 물론 작동합니다.
Matthew Roh

모든 팁 질문의 이름에 "팁"이라는 단어가있는 것은 아닙니다. 예를 들어 이것을 참조하십시오 . "tips"태그에서 챌린지를 제거 할 수 있습니까?
seshoumara

@seshoumara 후자는 태그로 'tips'를 입력 한 이유이기도합니다.
Matthew Roh

PPCG의 기준을 충족시키는 약 6k 개의 질문이 있습니다. 모두 무작위로 선택할 가능성이 있거나 검색 링크에서 얻은 첫 50 개의 결과에서 무작위로 선택할 수 있습니까?
seshoumara

답변:


4

자바 스크립트 (ES6), 209 바이트

작동하지만 StackExchange API 제한에 매우 빨리 도달합니다. 유효한 질문을 무작위로 확인하기 때문에 링크를 출력하는 데 다소 시간이 걸릴 수 있습니다.

_=>fetch(`//api.stackexchange.com/2.2/questions/${new Date%2e4}?site=codegolf`).then(_=>_.json()).then((a,b=a.items)=>{if(!b.length||b[0].tags.includes`tips`||b[0].closed_date)f();else console.log(b[0].link)})

f=_=>fetch(`//api.stackexchange.com/2.2/questions/${new Date%2e4}?site=codegolf`).then(_=>_.json()).then((a,b=a.items)=>{if(!b.length||b[0].tags.includes`tips`||b[0].closed_date)f();else console.log(b[0].link)})

f();


OP는 요구 사항에 맞는 모든 질문을 임의로 선택할 수 있어야한다고 말했다.
seshoumara

@seshoumara는 이제 수정되어야합니다.
Tom

URL에서 API 버전을 삭제하여 4 바이트를 절약하십시오.
Shaggy

있어 codegolf.stackexchange.com/questions/173/... 유효하지 않습니다
sergiol가

이것이 과제도 생성한다는 것을 확인할 수 있습니다 ...
FlipTack

2

파이썬 3, 452 339 바이트

from requests import*
from random import*
while 1:
    n=randrange(999999)
    r=get("http://api.stackexchange.com/questions/%d?site=codegolf"%n).json()
    if r["items"]:
        m=r["items"][0]
        if "tips" not in m["tags"]:
            try:m["closed_date"]
            except:print("http://codegolf.stackexchange.com/q/%d"%n);break

약간보기 흉하고 골프는 아니지만, 더 좋은 방법을 찾지 못했습니다. 이것은 다소 무차별적인 API를 강제하기 때문에 할당량을 매우 빠르게 소비하고 오류가 발생하기 시작하지만 몇 시간 후에 다시 작동합니다.

편집 : NoOneIsHere 덕분에 불필요한 여러 항목을 제거하여 113 바이트를 절약했습니다.


l한 번만 사용 하므로 불필요합니다.
NoOneIs 여기

맞습니다. 나는 그것이 유효하다면 나중에 링크를 인쇄 할 수 있었지만 정상적인 링크 대신 API 링크를 인쇄했습니다. 상기시켜 주셔서 감사합니다.
LyricLy

또한 온라인 tryexcept.
NoOneIs 여기

또한 맞습니다. 다시 감사합니다.
LyricLy

기쁘다. 패드
아무도 없음 여기

1

SEDE SQL : 79 바이트

Select Id from posts where ClosedDate IS NULL AND Tags !='tips' ORDER BY RAND()

2 개의 캐치가 있습니다. 하나는 다시 실행하기 전에 잠시 기다려야하거나 (모드가 말한대로) 캐시 적중이 있고 질문 ID 번호 만 얻습니다.


나는 타이핑조차 할 수없는 게으른 사람이 아니기 때문에 유효하다고 생각합니다.
Matthew Roh

예! 당신의 말은 당신의 도전에 놓여 있습니다
Christopher
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.