Metode Rentang
Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 9 dari 56.
Range adalah Collection sungguhan, jadi range dilengkapi dengan perkakas yang sama seperti yang kamu gunakan pada array.
contains, count, first, dan last semuanya bisa digunakan secara langsung:
let r = 1...10
print(r.contains(5)) // true
print(r.count) // 10
print(r.first!, r.last!) // 1 10Sebagian besar method array yang pernah kamu gunakan juga berfungsi. filter mengembalikan array karena hasil pemfilteran rentang bukanlah rentang itu sendiri:
let evens = (1...10).filter { $0 % 2 == 0 }
print(evens) // [2, 4, 6, 8, 10]Sama seperti reduce: range memiliki fitur ini, dan kamu akan mengandalkannya untuk menghitung jumlah dan hasil kali dengan cepat.
Tantangan
MudahBaca dua bilangan bulat (dua baris): n dan target. Perlakukan rentang tertutup 1...n sebagai kumpulan datamu.
Cetak tiga baris:
truejikatargetberada dalam rentang, jika tidak,false- Hasil perkalian semua nilai dalam rentang (
n!: faktorial). Gunakanreduce. - Nilai dalam rentang yang merupakan kelipatan
3, digabungkan dengan,(atau baris kosong jika tidak ada yang memenuhi syarat). Gunakanfilter.
Untuk input 5 / 3, outputnya adalah:
true
120
3Coba sendiri
let n = Int(readLine()!)!
let target = Int(readLine()!)!
let r = 1...n
// TODO: periksa dengan contains(target), hitung hasil perkalian dengan reduce, saring kelipatan 3 dengan filter
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Jumlah dan indeksHuruf besar, huruf kecil, dan hapus spasiMencari dalam stringMemisahkan dan menggabungkanMengganti substringUlasan: Memeriksa nama pengguna4set
Membuat setGabungan dan IrisanSelisih dan Selisih SimetrisHimpunan Bagian dan Himpunan SupersetRingkasan: Filter Tag7Proyek: Pelacak Kebiasaan
Gambaran Umum ProyekTandai Selesai2Rentang dan Langkah
Rentang Tertutup vs Setengah TerbukaLangkahMetode RentangRentang dalam SwitchRangkuman: Kisi KalenderLatihan sendiri: Playground Swift