İşleçler, karşılaştırmalar ve koşullar
Bu sayfa, değerleri birleştiren sembolleri ve kelimeleri kapsar: aritmetik, hesaplama sırası, true veya false yanıt veren karşılaştırmalar ve mantıksal ile bit düzeyindeki operatörler. Bir satır beklediğiniz sayıdan farklı bir sayı verdiğinde veya bütçenizde hâlâ olup olmadığınız gibi bir şeyi kontrol etmeniz gerektiğinde bu sayfayı kullanın.
Aritmetik
| İşleç | Yazım biçimleri | Örnek | Sonuç |
|---|---|---|---|
| Toplama | +, plus |
£12.50 + £4.30 |
£16.80 |
| Çıkarma | -, −, minus |
£20 - £4.50 |
£15.50 |
| Çarpma | *, ×, times, multiplied by, yan yana yazma |
3 × £4.50, 2(3 + 4) |
£13.50, 14 |
| Bölme | /, ÷, divided by |
£60 / 4 |
£15.00 |
| Üs alma | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| Kalan | mod, % (iki sayı arasında) |
50 mod 6, 50 % 6 |
2 |
| Karekök | √, sqrt(...), square root of |
√144 |
12 |
| Karesi / küpü | ², ³ |
3³ |
27 |
| Faktöriyel | !, factorial(...) |
5!, factorial(5) |
120 |
Aritmetik, düz sayılar, para ve birimlerle miktarlar üzerinde çalışır ve cevap para birimini veya birimi tutar:
£12.50 + £4.30 sonucu £16.803 * £4.50 sonucu £13.50£1,000 * 1.05^3 sonucu £1,157.636 times 7 sonucu 42100 minus 37.5 sonucu 62.5Yan yana yerleştirme, 2(3 + 4) veya 2πde olduğu gibi *'yi dışarıda bırakmak anlamına gelir. Örtülü çarpma bunun ne zaman işe yarayıp ne zaman çalışmadığını açıklar.
İşlem önceliği
Hesaplamalar okul matematiğindeki olağan sırayı takip eder:
- Parantezler.
5!gibi faktöriyeller.- Sağdan sola hesaplanan üsler:
2^3^2,2^9anlamına gelir ve 512 eder. - Baştaki eksi işareti, üs alma işleminden sonra uygulanır:
-2^2, -4 ederken(-2)^2, 4 eder. - Soldan sağa çarpma, bölme ve
mod. - Toplama ve çıkarma, soldan sağa.
*'yi dışarıda bırakmak bu sırayı değiştirmez, bu nedenle 2x^2, bir ders kitabı formülünün çalıştığı şekilde ikiye katlamadan önce x'i kare eder.
Dolayısıyla çarpma, yanındaki toplamadan önce yapılır. Bir hesabı toplarken bu ayrıntı gözden kaçabilir:
£85 - £12.50 * 2 sonucu £60.00(£85 - £12.50) * 2 sonucu £145.00£120 / 4 / 2 sonucu £15.00Emin değilseniz parantez ekleyin. Parantez kullanmak güvenlidir ve notu daha sonra okumayı kolaylaştırır.
Hemen ardından değere bir karekök işareti uygulanır, bu nedenle √9 + 16 19'dur. Bir toplamın kökünü almak için tüm ifadeyi parantez içine koyun:
√(9 + 16) sonucu 5Kalanlar
mod böldükten sonra kalanları verir. Bir şeyleri gruplara bölmek için kullanışlıdır:
eggs = 50eggs mod 6 sonucu 2floor(eggs / 6) sonucu 8Elli yumurta altılı sekiz kutuyu dolduruyor, ikisi kaldı.
İki sayı arasındaki %, ikinci sayıdan önce boşluk olmasa da kalan bulma işlemidir: 50 % 6 ve 50% 6 ifadelerinin ikisi de 2 verir. Ardından hiçbir şey gelmeyen % ise yüzde oluşturur (50%); bu kullanım Yüzdeler sayfasında açıklanır.
Faktöriyeller
Bir sayısal değerin, bir ismin veya bir kapanış parantezinin hemen ardından ! koyarak faktöriyelini elde edin:
5! sonucu 120runners = 4runners! sonucu 243! + 2 sonucu 85!=4 sonucu trueBir faktöriyel, yanındaki bir kuvvetten önce hesaplanır, bu nedenle 2^3! 2⁶'dır, bu da 64'tür. ! ardından = hâlâ "eşit değil", son satırda gösterildiği gibi. factorial(5) 5! ile aynı cevabı verir.
Karşılaştırma
==, !=, <, <=, > ve >= iki değeri karşılaştırır ve true veya false yanıtı verir. Bunlar düz sayılarla, aynı para birimindeki miktarlarla ve farklı birimlerde bile aynı şeyi ölçen miktarlarla çalışır:
budget = £400spent = £365spent <= budget sonucu truespent == budget sonucu falsespent != budget sonucu true5 km == 5,000 m sonucu true90 min >= 1.5 hours sonucu true2 kg < 2,500 g sonucu trueKarşılaştırmadan önce birimler dönüştürülür; bu nedenle 1 mile > 1.5 km, true sonucunu verir. Kilogram ve metre gibi farklı nicelikleri ölçen değerleri karşılaştırmak incompatible units hatasına yol açar.
Karşılaştırmaların yapmadıkları
- Zincirler.
5 < x < 10desteklenmiyor. Bunun yerine iki karşılaştırmayı birleştirin:5 < x && x < 10. - Unicode sembolleri.
≠,≤ve≥tanınmaz.!=,<=ve>=kullanın. - Tarihler. İki tarihi
<veya>ile karşılaştıramazsınız. Bunları çıkarın ve farkı bir süreyle karşılaştırın:
deadline = 30 September 2026booked = 14 September 2026deadline - booked sonucu 2 weeks 2 daysdeadline - booked >= 7 days sonucu trueMantıksal işleçler
Karşılaştırmaları && (ikisinin de doğru olması gerekir) veya || (en az birinin doğru olması gerekir) ile birleştirin. and ve or sözcükleri de iki karşılaştırma arasında aynı şekilde çalışır.
distance = 5 kmrun time = 27 mindistance >= 5 km && run time < 30 min sonucu truedistance >= 10 km || run time < 25 min sonucu falsedistance >= 10 km or run time < 30 min sonucu truetrue ve false doğrudan yazılabilir ve && ve || ile birleştirilebilir:
true || false sonucu truetrue && false sonucu falseBekleyebileceğiniz bazı formlar desteklenmiyor:
andveoryalnızca karşılaştırmalar arasında çalışır.true and falseçalışmaz;true && falseyazın.- Hiçbir negasyon operatörü yoktur:
not trueve!trueçalışmaz. Bunun yerinefalseile karşılaştırın, örneğin(spent > budget) == falsegibi. orhatalar için bir geri dönüş yolu değildir:1/0 or 55 vermez.
Koşullu ifadelerde karşılaştırma kullanma
Bir karşılaştırma, cevaba bağlı olarak bir değer seçen if … then … else … içinde en kullanışlıdır:
basket = £34.50if basket >= £40 then £0 else £3.99 sonucu £3.99Koşullar bölümünde else if, sonda kullanılan if ve unless ile bir dal içinde atama dahil tüm sözdizimi açıklanır.
Bitsel işleçler
Tam sayılar bitsel & (ve), | (veya), xor, << (sola kaydır) ve >> (sağa kaydır) operatörlerini destekler. Büyük harf AND, OR ve XOR kelimeleri de işe yarar. Bunlar çoğunlukla renk değerleri ve dosya izinleri gibi programlama görevleri için kullanışlıdır.
12 & 10 sonucu 812 | 10 sonucu 1412 xor 10 sonucu 612 AND 10 sonucu 81 << 10 sonucu 1,0241024 >> 3 sonucu 128Cevap sıradan bir sayı olarak gösterilir. Çalıştığınız tabanda görmek için to binary, in hex veya to octal ekleyin:
0o644 | 0o111 to octal sonucu 0o755colour = 0xFF8800(colour >> 8) & 0xFF sonucu 136Bit kaydırma işlemleri &, | ve xor işlemlerinden önce yapılır. Yine de renk örneğindeki gibi satırlarda parantez kullanmak ifadeyi izlemeyi çok kolaylaştırır.
Hepsini bir araya getirme
Aritmetik, karşılaştırmalar ve mantığı birlikte kullanan aylık bir bütçe kontrolü:
# September budgettake home = £2,400rent = £1,050bills = £230groceries = 4 * £65 sonucu £260.00left over = take home - rent - bills - groceries sonucu £860.00rent / take home as % sonucu 43.75%left over > £500 sonucu trueleft over > £500 && rent <= take home * 45% sonucu truegroceries satırında toplama yapılmadan önce çarpma yapılır; left over satırındaki çıkarma işlemleri soldan sağa yürütülür. Son iki satır notu bir kontrol aracına dönüştürür: kalan tutar £500'den fazla olduğu ve kira net maaşın %45'ini aşmadığı sürece sonuç true kalır. Bu koşullardan herhangi biri sağlanmazsa false olur.