Berkat tantangan MD XF , sekarang kita dapat membaca kata sandi dalam berbagai bahasa! Masalahnya adalah, sekarang kita perlu port aplikasi kita ke perangkat mobile, dan mereka melakukan entri kata sandi sedikit berbeda.
Tantangan
- Baca string dari keyboard.
- Setiap kali karakter
k
dimasukkan, tampilkan untuk interval waktu singkat. - Setelah interval waktu berlalu ATAU pengguna memasukkan karakter lain, ganti
k
dengan beberapa karakterc
.
Aturan
c
harus konstan; itu harus karakter yang sama.c
dapat berupa karakter apa pun yang terlihat (yaitu tidak boleh berupa baris, spasi, tab, atau yang tidak dicetak).c
tidak dapat didasarkan pada input apa punk
;c
harus didefinisikan / konstan sebelum yang pertamak
dibaca.c
harus sama setiap kali program dijalankan.c
dapat menjadi salah satu nilai yang diberikan seolah-k
olah secara tidak sengaja, selama semua aturan lain diikuti.- Anda harus mencetak
k
dalam waktu nyata. Segera setelah pengguna memasukkan yang baruk
, Anda harus segera menampilkannya. k
harus terlihat oleh pengguna akhir sebelum diubah menjadic
; interval waktu tidak boleh kurang dari 0,5 detik.k
harus digantic
dalam waktu yang wajar; interval waktu tidak boleh melebihi 5 detik.- Segera setelah karakter baru dimasukkan, apakah interval waktu telah berakhir atau tidak, Anda harus mengganti
k
denganc
dan menggunakan kunci yang dimasukkan sebagai yang baruk
segera. - Dapat diterima untuk menghapus dan menggambar ulang layar setiap kali Anda perlu mengubah karakter.
- Anda dapat menggunakan metode input dan output yang masuk akal selama semua aturan lain diikuti.
- Anda dapat berasumsi bahwa jumlah karakter yang dimasukkan tidak pernah lebih panjang dari lebar jendela terminal / grafik.
- Jika menggunakan terminal, program Anda harus berakhir setelah baris baru dimasukkan atau EOF tercapai.
- Program Anda harus berfungsi sebagaimana dijabarkan di sini di lingkungan seluler dan lainnya.
- Program Anda mungkin berasumsi bahwa input hanya akan berisi karakter yang dapat dicetak (huruf, angka, simbol) dan mungkin baris baru yang mengakhiri (tidak ada spasi mundur, tombol panah, hapus, dll).
- Program Anda dapat berakhir ketika Ctrl + C ditekan.
- Anda dapat menghentikan program Anda dengan menutup jendela, jika program Anda meluncurkannya.
Mencetak gol
Ini kode-golf , jadi jawaban tersingkat di setiap bahasa menang!
Contoh
Berikut ini contoh tampilannya. Catatan ini direkam pada platform seluler, tetapi juga harus bekerja pada platform desktop.
Jawaban:
HTML + JavaScript, 20 + 105 = 125 byte
Keterlambatan antara masuknya
k
dan surat menjadi*
satu detik.JavaScript
oninput
, DiformatCuplikan Tes
Menambahkan braket akhir (
>
) untuk kompatibilitas yang lebih baik.sumber
Python 3 ,
186224 byteHanya bekerja di windows.
Versi yang lebih lama (186 bytes): Tidur wajib dilakukan terlepas dari kecepatan tombol ditekan.
sumber
As soon as a new character is entered, whether or not the time interval has expired, you should replace k with c and use the entered key as the new k immediately.
Yang dikatakan, saya tidak bisa mengujinya karena saya tidak menjalankan Windows, jadi beri tahu saya! Anda dapat menemukan tantangan terkait ini bermanfaat sebagai referensiPython 2 , 133 byte
Berdasarkan jawaban @officialaimm .
sumber
\r
cetakannya