colors.rgb ("blue") menghasilkan "# 0000FF". colors.rgb ("blue kekuningan") menghasilkan NaN. colors.sort () menghasilkan "pelangi"
Dengan menggunakan aturan yang ditetapkan dalam gambar dan teks judulnya (dikutip di sini), buat program yang menerima semua input yang diberikan dan menampilkan output yang sesuai.
Input dapat diambil dengan stdin atau setara terdekat. Harus ada garis seperti
[n]>
di mana untuk mengetiknya, dann
bertambah 1 setiap perintah. Itu harus dimulai pada 1.Hasilnya harus ditampilkan menggunakan stdout atau setara terdekat. Harus ada
=>
pada setiap baris output.
Semua 13 kondisi, ditambah 3 dalam judul (dikutip) harus berfungsi.
Ini kode golf, jadi jawaban tersingkat menang.
10.5
?n
bertambah 1? Bukan itu yang dilakukan komik ... ;-)Jawaban:
Python 3,
700 698 697 689 683 639611Tab sebagai lekukan.
Karena ini menggunakan telanjang Kecuali Anda tidak dapat Ctrl-C itu. Ctrl-Z dan matikan%% work
Beberapa kondisi digeneralisasikan dan yang lainnya hanya akan bekerja dengan input yang tepat.
A+"B"
akan bekerja dengan A dan B tidak hanya kapanA == B
"A"+[]
akan bekerja untuk semua A yang dapat dikonversi ke int (Termasuk string hex dan binary misalnya 0xff dan 0b01010)(A/0)
akan bekerja untuk A, Penyebab EvalDivideByZeroError
yang ditangani dalam pengecualian(A/0)+B
akan bekerja dengan A atau B.literal_eval
(E) memunculkan kesalahan.""+""
hanya berfungsi untuk tanda +. Yang lain akan mencetak NaN, NaP atau NaN.00 ...[A, B, C]+D
bekerja dengan memeriksa bahwaD == C+1
itu juga akan bekerja untuk setiap daftar panjang dan nomor apa pun.2/(2-(3/2+1/2))
, Apa pun yang gagal mengurai yang ada-
dengan suatu+
tempat setelah itu akan menghasilkan NaN.000 ... 13RANGE(" ")
Hardcoded+A
akan bekerja untuk semua A. Ouputs"current_line_number+A"
A+A
bekerja untuk setiap A asalkan mereka sama dan merupakan tipe python bulitinRANGE(1,5)
Hardcoded.FLOOR(A)
bekerja untuk A.colors.rgb("blue")
The lstrip in eval ternyata ini digb("blue")
mana memiliki respon hardcoded.colors.rgb("yellowish blue")
Lstrip dalam eval mengubah ini digb("yellowish blue")
mana upaya untuk menggunakan variabel tidak ada jikay
hadir dalam argumen yang menyebabkan kesalahan yang kecuali berubah menjadi NaNcolors.sort()
Lstrip mengubah ini menjadit()
yang memiliki respons hardcode.Brainsteel menunjukkan kesalahan dalam asumsi saya untuk aturan 10.
sumber
RANGE(" ")
adalah rentang karakter dari karakter kutipan ganda \ x22 ke karakter spasi \ x20 dan kembali.2
ke4
dalam baris 11, 2 sekarang 4 dan 12 sekarang 14. Ini juga berlaku untuk nomor baris.Python, 1110 byte
Kelebihan operator tidak jahat, kan ??
Tujuan saya tidak sebanyak menang (jelas) karena menjadikannya sebagai generik mungkin. Sangat sedikit hardcoded. Cobalah hal-hal seperti
RANGE(10)
,9*1
, danRANGE("A")
,(2/0)+14
, dan"123"
untuk hasil menyenangkan!Inilah sesi sampel:
sumber
C, 412 byte
Ini pada dasarnya hardcoded, tetapi semua jawaban lain sejauh ini kehilangan sesuatu ...
Keluaran:
sumber
Python 3, 298
Semuanya hardcoded, tetapi input diubah menjadi angka yang kemudian dikonversi menjadi string dan melihat ke dalam string besar yang berisi semua angka-angka ini diikuti oleh jawaban mereka.
sumber
Python 3,
542484 byteKarena tidak disebutkan hardcoding absolut, inilah solusi saya.
sumber
"2+\"2\""
menjadi'2+"2"'
. Mengimpor jumlah juga dapat dihapus jika Anda menambahkan variabel penghitung.