input() ve sys.stdin Karşılaştırması
Büyük testlerde düz input() kullanımının neden zaman kaybettirdiğini öğrenin.
input() ve sys.stdin Karşılaştırması, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.
input() İşlevinin Gizli Maliyeti
Her input() çağrısı arka planda ek işler yapar. Birkaç satırda bu sorun değildir, ancak yarışmalarda önünüze binlerce satır gelebilir. ⏱️
Neden Birikiyor
Yavaşlamanın nedeni çağrı başına ek yüktür: istemler, arabellek boşaltma ve kodlama denetimleri okuduğunuz her satırda tekrarlanır.
sys.stdin ile Tanışın
Daha hızlı yol, ham girdi akışı olan sys.stdin üzerinden okumaktır. input() işlevinin sizin için eklediği kolaylıkları atlar.
import sys
data = sys.stdinBir Satırı Hızlıca Okuyun
Tek bir satırı hızlıca almak için sys.stdin.readline() kullanın. input() gibi çalışır, ancak çağrı başına ek yükü çok daha azdır.
import sys
line = sys.stdin.readline()Satır Sonuna Dikkat Edin
readline(), sondaki satır sonu karakterini korur. Değeri ayrıştırmadan önce bu karakteri kaldırmak için .strip() çağrısını kullanın.
n = int(sys.stdin.readline().strip())Her Şeyi Tek Seferde Okuyun
En hızlı okuma için tüm girdiyi sys.stdin.read() ile tek seferde alın, ardından metni kendiniz işleyin.
data = sys.stdin.read()Tüm Veriyi Parçalara Ayırın
read() sonrasında, tüm belirteçleri tek bir düz listeye dönüştürmek için .split() çağrısını kullanın. Boşluklar ve satır sonları birlikte işlenir.
tokens = sys.stdin.read().split()Hız için input'u Yeniden Bağlayın
Yaygın bir yöntem, eski kodunuz aynı kalırken daha hızlı çalışması için input'u readline'a yönlendirmektir.
import sys
input = sys.stdin.readlineinput() Ne Zaman Yeterlidir
Problem yalnızca birkaç satır okuyorsa normal input() kullanmak tamamen yeterlidir. Hızlı yöntemi büyük girdiler için saklayın.
print() de Ek Yüke Sahiptir
Aynı fikir çıktı için de geçerlidir: çok sayıda print() çağrısı yavaştır. Bunu toplu çıktı üzerine daha sonraki bir derste düzelteceğiz.
Doğru Aracı Seçin
Temel kural şudur: küçük girdi için input(), büyük girdi için sys.stdin kullanın. Aracı N'ye uygun seçmek puan kaybetmenizi önler.
Kısa Kontrol
Okuma hızı için kısa bir yoklama.
Özet: Hızlı Okuma
sys.stdin'in input() işlevine hızlı bir alternatif olduğunu öğrendiniz: satır başına readline(), tüm girdi için ise read().split(). Aracı girdi boyutuna uygun seçin. ⚡
Sıkça Sorulan Sorular
“input() ve sys.stdin Karşılaştırması” dersi ücretsiz mi?
Evet — “input() ve sys.stdin Karşılaştırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.
“input() ve sys.stdin Karşılaştırması” dersinde ne öğreneceğim?
Büyük testlerde düz input() kullanımının neden zaman kaybettirdiğini öğrenin. Coding Interview Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“input() ve sys.stdin Karşılaştırması” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Coding Interview Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- input() ve sys.stdin Karşılaştırması
- Tek Satırdaki Birçok Sayıyı Ayrıştırma
- Çıktıyı Doğru Biçimde Toplu Üretme
- N Satırı Okuma ve Sınır Durumları