Şu eğitimden: Temel Python Eğitimi
If ve else
- Python'da koşullu ifadeler hakkında bilgi edinmek istiyorsanız doğru yerdesiniz. Başka? Python'daki koşullu ifadeler hakkında bilgi edinmelisiniz. Çoğu programı yazmak için kritik öneme sahiptirler. Ve daha önce if ve else'yi ele almış olsak da, şimdi size bu if ve else bloklarına ekleyebileceğiniz yeni bir ifade ve if ifadesini kullanmak için yeni bir sözdizimi göstereceğiz. Başka bir programlama dili yaptıysanız, muhtemelen switch deyimiyle karşılaşmışsınızdır. Bir dizi değeri değerlendirir ve bulduğunuz ilk gerçek değere karşılık gelen kod yönergelerini çalıştırırsınız. Ve eğer bir switch ifadesini hiç duymadıysanız ve neden bahsettiğimi bilmiyorsanız, sorun değil. Açıkçası, diğer programlama dilleri zaten Python'dan daha düşüktür. Kodu geçelim. İşte programlamada klasik bir problem. Birden 100'e kadar olan sayıları yineleyin. Sayı üçe bölünebiliyorsa, Fizz yazdırın. Sayı beşe bölünebiliyorsa, Buzz'ı yazdırın. Sayı 15'e bölünebiliyorsa, FizzBuzz'ı yazdırın. Aksi takdirde, numarayı yazdırmanız yeterlidir. Yani dizi şöyle görünüyor. 1, 2, Fizz, 4, Buzz, Fizz, vb. Öyleyse bunu Python ile yazalım. Aralıktaki n için, 1, 101, eğer n % 15 == 0 ise, 'FizzBuzz' yazdırın, aksi takdirde n % 3 == 0, 'Fizz' yazdırın, aksi takdirde n % 5 == 0 ise, 'Buzz' yazdırın, aksi takdirde sadece n yazdırın. Bu işe yarıyor, ama okuması biraz zor. Çok fazla girinti oluyor. Bu yüzden bunu bir elif ifadesi ile yeniden yazalım, ki bu başka bir şeyin kısaltmasıdır ve aslında bu kodu kopyalayıp buraya taşıyacağım ve bunu yeniden yazalım, elif, elif ve bunu başka bir şekilde tutabiliriz. Ve biraz dışarı çıkın. Büyük. Yani bu aynı çıktı, ama çok daha temiz. else if deyimi her zaman bir if deyimi ile devam etmelidir. Yani burada bu if ifadesini kaldırırsam bir syntax hatası alıyoruz. Sondaki else ifadesi isteğe bağlıdır. Yani aslında bu olmadan da koşabiliriz ve sadece tüm Fizzes ve Buzze'ları yazdırırız. Yani kural şu ki, tek bir if ifadesi, herhangi bir sayıda elif ifadesi ve ardından isteğe bağlı olarak, en sonunda tek bir else ifadesi yazarsınız, böylece üzerindeki hiçbir şey eşleşmezse bir tür varsayılan değer sağlarsınız. Tabii ki, bundan sonra başka bir if ifadesi istiyorsanız, bunu da yapabilirsiniz. Yani n % 2 == 0 ise, 'Eşit!' yazdırın. Bu ekstra alıntıdan kurtulun, işte başlıyoruz. Ve böylece bunların hepsini yazdırıyoruz. Ve bu aslında tamamen yeni bir if ve elif ve else ifadeleri bloğunu başlatacak. Bu nedenle, if else ifadeleriyle ilgili bir sorun, genellikle çok fazla satır boyunca sürüklenebilmeleridir. Bazen, bir şeyi tek satırlık bir cümlede değerlendirmek istersiniz. Öyleyse burada bir örnek oluşturalım, n == 3, n % 3 == 0 else n ise 'Fizz' yazdırın ve Fizz'i yazdıralım. Tabii ki, n'yi 5'e ayarlarsak, 5 elde ederiz. Bunu bir değişkende de saklayabilirsiniz. Yani bunu alabilir ve fizzBuzz değişkenini bu çıktıya eşit olarak ayarlayabiliriz. Programlamada, bu üçlü operatör olarak bilinen şeydir. Bu nedenle, üçlü bir operatör bazı Boole koşullarını alır, bu durumda, N % 3 == 0, bunu değerlendirir ve koşul doğruysa bir değer ve koşul yanlışsa başka bir değer döndürür. Python programcıları olarak amacımız her zaman temiz, okunabilir kod yazmaktır. Üçlü operatörler doğru kullanıldığında bunu kolayca başarsalar da, aslında bir araya getirilebilmeleri için onlara karşı dikkatli olmanız gerekir. Bunu alalım ve ekleyelim, else 'Buzz' if n % 5 == 0 else n ve 'Buzz' elde ederiz. Hatta daha fazla tel çekme yapabiliriz, böylece bunun başına 'FizzBuzz' ekleyebiliriz, eğer n % 15 == 0 ise, tamam ve tekrar 'Buzz' elde ederiz. Belki bunları bir listeye bile koyabiliriz. Öyleyse, 1 ile 101 arasındaki aralıktaki n için bir liste alalım. Bu yüzden, bir sonraki iş görüşmeniz için bunu kesinlikle yapmanızı savunmasam da, FizzBuzz'ı çözmeniz istenirse, yapabileceğinizi söylüyorum.
Deneme dosyaları ile uygulama yaparken öğrenin
Eğitmenin dersi öğretmek için kullandığı dosyaları indirin. İzleyerek, dinleyerek ve uygulama yaparak öğrenin.