10 Clickbaits Anda tidak dapat menolak


8

Tulis program / fungsi / skrip yang mengambil bilangan alami i dari 1 hingga 10 sebagai input dan output URL Pertanyaan dengan pertanyaan terpanas ke-10 di Code Golf Portal

Pemesanan harus seperti di https://codegolf.stackexchange.com/?tab=hot . Misalnya:
input 1
output /codegolf/127047/the-spain-license-plates-game
(pada titik edit ini)

Tidak ada batasan kuat untuk output, selama url dapat diambil secara wajar. Output yang valid termasuk string, pencetakan konsol dll.

Ini Golf Code, jadi kode terpendek dalam Bytes yang menang.

Catatan

Jika program Anda secara otomatis membuka browser dengan halaman web, itu dianggap sebagai hasil yang valid dan benar-benar keren.

Jika program Anda tidak mengambil peringkat dari informasi saat ini (mis. Hardcoding tautan), itu tidak valid.

Kontes berakhir dengan akhir Juni.

Seperti yang dipertanyakan: Pengindeksan harus berdasarkan 1, yaitu: input 1 harus mengembalikan situs pertama dari pertanyaan terpanas.

Komentar

Saya harap pertanyaan ini tidak terlalu clickbaity, karena program editor pertukaran tumpukan mengejek saya untuk judul. Awalnya saya merencanakan tantangan ini dengan tren Youtube, di mana itu akan lebih cocok.


1
Re: Stack Exchange mengejek Anda untuk judul pertanyaan, itu hanya memicu kata youtertentu. Asumsi yang dibuat oleh perangkat lunak adalah bahwa jika Anda bertanya kepada orang-orang apa yang secara spesifik mereka pikirkan tentang sesuatu, maka pertanyaannya mungkin akan ditutup terutama berdasarkan pendapat (seolah-olah pertanyaan itu berdasarkan fakta, itu tidak masalah siapa yang kamu tanya). Tentu saja, heuristik sederhana ini memiliki banyak kesalahan positif.

Saya terkejut jawabannya tidak menggunakan penyingkat URL: v.ht/b6QI
Engineer Toast

@ Engineer Mereka biasanya tidak diizinkan.
Buah Esolanging

@ Challenger5 Memang . Saya mungkin harus membaca ulang daftar itu ...
Engineer Toast

Jawaban:


1

PowerShell v5, 83 Bytes

(irm api.stackexchange.com/questions?sort=hot`&site=codegolf).Items["$args"-1].Link

irmadalah kependekan dari Invoke-RestMethodyang otomatis mem-parsing Json, membuat hidup cukup mudah.

tambahkan empat byte ( sapsuntuk start-process) untuk versi yang terbuka di browser.

saps(irm api.stackexchange.com/questions?sort=hot`&site=codegolf).Items["$args"-1].Link

4

Permintaan Python + , 128 byte

from requests import*
lambda n:get('http://api.stackexchange.com/questions?sort=hot&site=codegolf').json()['items'][n-1]['link']

3

Mathematica, 125 byte

b="http://codegolf.stackexchange.com";b<>"/q/"<>StringCases[Import[b<>"?tab=hot","Text"],"ns/"~~a:DigitCharacter..:>a][[3#]]&

Fungsi anonim. Tidak mengambil input dan mengembalikan string sebagai output. Akan menggunakan umpan XML, tetapi tampaknya mengikuti urutan berbeda dari pada halaman.


3

Python 2.7, 195 byte

from urllib import*
import zlib, json
lambda n:json.loads(zlib.decompress(urlopen('http://api.stackexchange.com/questions?sort=hot&site=codegolf').read(),16+zlib.MAX_WBITS))['items'][n-1]['link']

Ini adalah jawaban yang sama oleh Dair , tetapi menggunakan Python 2


1
Selamat datang di PPCG!
Martin Ender

3

Python 3, 221 byte

from urllib.request import*
import zlib, json
lambda n:json.loads(zlib.decompress(urlopen('http://api.stackexchange.com/questions?sort=hot&site=codegolf').read(),16+zlib.MAX_WBITS),encoding='utf-8')['items'][n-1]['link']

Didasarkan pada jawaban ovs . Juga, terima kasih kepada Oluwafemi Sule untuk membantu saya dengan masalah yang saya miliki.


Bisakah Anda mengedit jawaban Anda dan menyebutkan bahwa itu adalah Python 3? Terima kasih! :-)
Mauro Baraldi

2
@MauroBaraldi Diedit. Maaf soal itu.
Dair

2

Stratos , 28 byte

"-1"+
f"¹⁵s²&sort=hot"r"⁷s"@

Penjelasan:

"-1"+                    Decrement the input, and store it.
f"¹⁵s²&sort=hot"         Fetch the contents of the URL api.stackexchange.com/questions?site=codegolf&sort=hot.
                r"⁷s"    Get the array named "items"
                     @   Get the nth element, where n is retrieved from storage.

Cobalah!


1

JavaScript (ES6), 106 byte

Mengembalikan Janji yang berisi objek JSON untuk pertanyaan yang diinginkan, yang mencakup tautan.

n=>fetch`//api.stackexchange.com/questions?sort=hot&site=codegolf`.then(r=>r.json()).then(j=>j.items[--n])
  • Mengorbankan 2 byte yang memungkinkan pengindeksan 1.

Cobalah

f=
n=>fetch`//api.stackexchange.com/questions?sort=hot&site=codegolf`.then(r=>r.json()).then(j=>j.items[--n])
oninput=_=>f(+i.value).then(console.log)
f(i.value=1).then(console.log)
<input id=i type=number>


hm Saya tidak yakin saat ini bagaimana menangani pengindeksan berbasis 0, tetapi karena jawaban lain tampaknya menggunakan pengindeksan berdasarkan 1 dan itu ditentukan seperti itu, jawaban Anda dihitung sebagai 106 byte (masih skor tertinggi saat ini)
Moartem

@ Moartem: " Saya tidak yakin saat ini bagaimana menangani pengindeksan berbasis 0 " - Beri tahu saya ketika Anda sudah menemukannya dan saya akan memperbarui jawaban saya sesuai dengan itu. Saya akan menyarankan memungkinkan untuk 1-indexing atau 0-indexing.
Shaggy

Saya akan memperbaikinya menjadi 1-pengindeksan, jadi semua memiliki prequesites yang sama, harap perbarui jawaban Anda. Pokoknya terima kasih telah menunjukkan ini.
Moartem

@ Moartem: Jawaban diperbarui. Untuk referensi di masa mendatang, kecuali ada alasan bagus juga, normanya adalah untuk memungkinkan solusi menggunakan pengindeksan default bahasa mereka.
Shaggy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.