PPCG'nin Cevaplanmamış Soruları


9

Bu sevgili StackExchange sitesi çok fazla zorluğa ve çok iyi cevaplara sahip. Peki ya hiç cevaplanmayan zorluklar ?

Görev

PPCG'den rastgele rastgele açık cevapsız (tam olarak sıfır yanıtlı bir soru) sorusu yazdıracak bir program veya işlev yazın. Tüm olası zorluklar aynı olasılıkla üretilmelidir.

Giriş

  • Hiçbir giriş alınmayacaktır.

Çıktı

  • Yalnızca başlık, etiketler ve yeni satırlarla ayrılması gereken bağlantı olmalıdır.
    • Başlık tam olarak karşılaştığınız gibi olmalıdır.
    • Etiketlerin kesin bir çıktı biçimi yoktur, ancak tüm etiketleri içermelidir.
    • Bağlantı question-name, soru kimliğinden sonra olabilir veya içermeyebilir ve bu soruna yol açmalıdır.
  • İnsan tarafından okunabilir bir biçime çevrilebilir veya çevrilemez.
    • & için &
  • Öncü ve sondaki boşluklara izin verilir.

Örnekler

Encode a steganographic encoder into a package
code-challenge,unicode,steganography
/codegolf/65159/encode-a-steganographic-encoder-into-a-package

Simple predictive keyboard CG
code-golf
/codegolf/76196/simple-predictive-keyboard-cg

puanlama

Bu olduğu gibi , bayt cinsinden en kısa cevap kazanır.


8
Stack-exchange-api zorluklarından gerçekten bıktım .
Rɪᴋᴇʀ

3
@Riker Uhm ... geri bildiriminiz için teşekkür ederiz? Bu nedenle neden aşağı indireceğinizi gerçekten bilmiyorum ama sanırım size daha fazla güç.
totallyhuman

6
Bunun için aşağı inmedim. Aşağı düştüm, çünkü sorunun sıkıcı olduğunu düşünüyorum. Ayrıca, kapalı soruların eşit çıkma olasılığına sahip olması gerekir mi?
Rɪᴋᴇʀ

1
Ben @Riker olarak bu konuda güçlü hissetmiyorum rağmen, bunun olması için oraya görünüyor sürü son zamanlarda API'yla ilgili zorlukların; o kadar ki kendimi ~ 21 saat boyunca API kullanarak bloke başardı !
Shaggy

4
İlginç bir şekilde, bu zorluk test sırasında ortaya çıkacak, ancak bir kez cevap verdiğimde, artık testte görünmeyecek.
HyperNeutrino

Yanıtlar:


7

JavaScript + HTML, 271 250 232 bayt

Görünüşe göre Dates sahte rasgele sayılar olarak kullanabilirsiniz . Bunu Shaggy'nin cevabından çaldım .

(Kotanızın yalnızca yaklaşık 4'ünü kullanır)

q=[]
g=f=>fetch('//api.stackexchange.com/questions/unanswered?site=codegolf&page='+f).then(r=>r.json().then(j=>(q=[...q,...j.items])^j.has_more?g(f+1):document.write(`<pre>${(q=q[new Date%q.length]).title}
${q.tags}
`+q.link)))
g(1)

Bir dizi yapar q, sonra arama yapar g(1), sonuçların ilk sayfasını getirir ve bunu q'ya ekler. Daha sonra, istek söylerse , bir sonraki sayfayı getiren, sonuna kadar ve HTML belgesine yazana kadar has_moreçağırır g(f+1)(Bu, yanıtı otomatik olarak silecektir)

Cevaplanmamış tüm soruları umursamıyorsak , en son 30 (Kotanızın yalnızca 1'ini kullanır):

JavaScript + HTML, 213 196 179 bayt

fetch`//api.stackexchange.com/questions/unanswered?site=codegolf`.then(r=>r.json().then(j=>document.write(`<pre>${(j=j.items[new Date%j.items.length]).title}
${j.tags}
`+j.link)))


Üzgünüm, @Artyer, kendi cevabım üzerinde çalışmaya odaklandım, beni birkaç dakika yumruk attığınızı hiç fark etmedim. Sizinkine benzer olduğunu düşünüyorsanız cevabımı sildiğim için mutluyum.
Shaggy

@Shaggy Tamam. İkinci cevabı aynı zamanda cevabınızı yazarken de yazdım, bu yüzden benzer şekilde sonuçlanmaları mutlu bir tesadüf.
Artyer

Getirilmesi gereken sayfa sayısına kodlama yaparak birkaç bayt kaydedebilirsiniz. Bunun yerine j.has_more?g(f+1), deneyin++f<5?g(f)
Shaggy

Ayrıca yerini alabilir q=q.concat(j.items)ile q=[...q,...j.items]. Görünüşe Tags: göre isteğe bağlıdır, böylece de bırakabilirsiniz. Ve gerek yok join q.tags, bir dizeye birleştirilirken bir dizeye zorlanacaktır. Son olarak, final için şablon hazır bilgisi kullanmak da birkaç bayt tasarruf etmelidir.
Shaggy

@Shaggy Maalesef kota ile tanıştım. Yine de 425 saniye içinde sıfırlanır.
Artyer

6

Python + istekleri + json + rastgele + html, 249239 bayt

import requests as r,json,random as R,html
j=R.choice(json.loads(r.get('http://api.stackexchange.com/questions/no-answers?site=codegolf').text)['items'])
print('\n'.join([html.unescape(j['title']),'Tags: '+', '.join(j['tags']),j['link']]))

İstediğimden daha uzun çıktı.

@Totallyhuman sayesinde ilk öğeyi kullanmak R.choiceyerine kullanmak için -10 bayt R.shuffle.


Kullanarak birkaç bayt kaydedebilir misiniz random.shuffle?
totallyhuman

... Bekle, hatta daha iyisi random.choice()?
totallyhuman

1
@totallyhuman Gelen adının değiştirilmesi bayt sayısında aslında bir fark yaratmaz: P Ama teşekkürler .choice()!
HyperNeutrino

Json kütüphanesine ihtiyacınız yok, r.get(url).json()bunun yerine kullanın
ovs

Bu hesaba katılmıyor has_more. Sadece ilk 30'dan rastgele seçer.
Artyer

0

Bash 255323 bayt

a="api.stackexchange.com/questions/";b="?site=codegolf";c=$(w3m $a"unanswered"$b"&filter=total"|tr -cd 0-9);w3m $a"no-answers"$b"&pagesize=1&page="$((RANDOM%c))|jq -r ".items[0]|.title,(.tags|join(\", \")),.link"|recode html..utf-8

Cevapsız / cevapsız toplamlar için yanlış sonuç döndürme gibi görünüyor. Genel fikir - bir öğe ile rastgele sayfa almak yerine toplam alın.

Bash 174153 bayt

w3m api.stackexchange.com/questions/no-answers?site=codegolf|jq -r ".items[$RANDOM%(.items|length)]|.title,(.tags|join(\", \")),.link"|recode html..utf-8

Tüm sorulardan değil, son 30'dan rastgele bir soru seçer. Komut satırından çalışır. Gerekli curl w3m, jq ve recode.

sonuç:

Tips for golfing in Charcoal
code-golf, tips
/codegolf/117269/tips-for-golfing-in-charcoal

Hepsinden seçim yapmanız gerektiğine eminim. Ama yine de PPCG'ye hoş geldiniz!
NoOneIs Here
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.