도전 해주세요!


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

또한 온라인 try및 except.
— 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.