Mencetak angka genap dan ganjil dari daftar Python adalah latihan yang bagus jika Anda memulai dengan Python dan Anda ingin mempelajari dasar-dasarnya
Untuk mengekstrak angka genap dan ganjil dari daftar Python, Anda dapat menggunakan for loop dan operator modulo Python. Opsi kedua adalah mengganti loop for dengan pemahaman daftar. Sintaks yang diperluas dari operator irisan juga memungkinkan untuk melakukan itu dengan satu baris kode tetapi hanya jika Anda memiliki daftar angka berurutan
Kami akan membahas beberapa contoh dalam tutorial ini dan tujuan menerapkan berbagai cara untuk menyelesaikan masalah yang sama adalah untuk menumbuhkan kreativitas yang Anda butuhkan sebagai pengembang Python
Mari kita mulai
Daftar isi
Bagaimana Anda Mencetak Angka Ganjil Dari Daftar dengan Python?
Untuk mencetak angka ganjil dari daftar angka, Anda dapat menggunakan operator modulo Python, terkait dengan konsep matematika sisa
Bila suatu bilangan ganjil dibagi 2, sisa pembagiannya adalah 1. Bila suatu bilangan genap dibagi 2, sisa pembagiannya adalah 0
Mari gunakan konsep ini dan loop for Python untuk mencetak angka ganjil dari daftar
def get_odd_numbers(numbers): odd_numbers = [] for number in numbers: if number % 2 == 1: odd_numbers.append(number) return odd_numbersSebelum memulai perulangan for, kita mendefinisikan daftar kosong, lalu pada setiap iterasi perulangan for, kita menambahkan bilangan ganjil ke dalam daftar
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_Bagaimana Anda Mencetak Angka Genap Dari Daftar dengan Python?
Ini sangat mirip dengan apa yang telah kita lihat di bagian sebelumnya…
Untuk mencetak angka genap dari daftar angka kita dapat mengekstrak angka yang dibagi 2 menghasilkan sisa sama dengan 0
Kodenya identik dengan kode yang telah kita buat untuk mengekstrak bilangan ganjil dengan perbedaan kecil pada kondisi if di dalam perulangan for
def get_even_numbers(numbers): even_numbers = [] for number in numbers: if number % 2 == 0: even_numbers.append(number) return even_numbersDan hasil dari fungsi tersebut adalah…
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_even_numbers(numbers)) [output] [2, 6, 8, 88, 100]Cara Membuat Fungsi yang Memisahkan Angka Ganjil dan Genap dalam Daftar
Untuk memisahkan angka ganjil dan genap dalam sebuah daftar, kita dapat menggunakan pendekatan yang sama berdasarkan perulangan for yang digunakan sebelumnya dan menghasilkan dua daftar berbeda, satu untuk angka ganjil dan satu untuk angka genap
Alih-alih melakukan itu, saya ingin membuat kode kita lebih ringkas dengan menggunakan pemahaman daftar
Kami masih akan menggunakan konsep sisa ...
Mari buat fungsi dasar yang mengambil daftar sebagai argumen dan mengembalikan dua daftar, satu berisi angka ganjil dan satu lagi berisi angka genap
def split_list_even_odd(numbers): odd_numbers = [number for number in numbers if number % 2 == 1] even_numbers = [number for number in numbers if number % 2 == 0] return odd_numbers, even_numbers_Perhatikan bahwa fungsi ini mengembalikan dua daftar Python
Tahukah Anda dalam format apa daftar ini diterima oleh pemanggil fungsi?
Ayo cari tahu…
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(split_list_even_odd(numbers)) [output] ([3, 13, 45, 67, 99], [2, 6, 8, 88, 100])Pemanggil fungsi menerima tuple dengan dua elemen. Kita dapat mengakses masing-masing dengan menggunakan tanda kurung siku dan indeks
print("The odd numbers are {}".format(split_list_even_odd(numbers)[0])) print("The even numbers are {}".format(split_list_even_odd(numbers)[1])) [output] The odd numbers are [3, 13, 45, 67, 99] The even numbers are [2, 6, 8, 88, 100] _Jika Anda ingin tahu lebih banyak tentang. sintaks format() yang digunakan dalam pernyataan cetak Anda dapat melihat tutorial ini tentang menggabungkan string Python
Program Mencetak Bilangan Genap dan Ganjil Dari 1 Sampai 100
Untuk mencetak angka genap dan ganjil dari 1 hingga 100 pertama-tama kita dapat membuat daftar angka secara manual tetapi akan memakan waktu lama
Sebagai gantinya kita akan menggunakan fungsi Python range()
Inilah cara Anda dapat menghasilkan angka dari 1 hingga 100 menggunakan fungsi Python range()
>>> numbers = range(1,101) >>> print(type(numbers)) <class 'range'>Menariknya jenis objek yang dikembalikan oleh fungsi range() bukanlah sebuah daftar
Jadi, apa yang bisa kita lakukan dengannya?
Kita masih bisa menggunakan perulangan for atau pemahaman daftar untuk menelusuri semua angka…
>>> [number for number in numbers] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]_Gunakan fungsi yang telah kita buat sebelumnya untuk mencetak angka genap dan ganjil
def split_list_even_odd(numbers): odd_numbers = [number for number in numbers if number % 2 == 1] even_numbers = [number for number in numbers if number % 2 == 0] return odd_numbers, even_numbers numbers = range(1,101) print("The odd numbers are {}".format(split_list_even_odd(numbers)[0])) print("The even numbers are {}".format(split_list_even_odd(numbers)[1])) [output] The odd numbers are [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99] The even numbers are [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]_Bagaimana Anda Mencetak Angka Ganjil Dari Daftar Angka Berturutan dengan Python?
Cara paling sederhana untuk mencetak angka ganjil dari daftar angka berurutan adalah dengan perluasan sintaks operator irisan
Operator slice mengembalikan fragmen dari daftar yang diberi indeks awal (disertakan) dan indeks akhir (tidak disertakan)
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_0Mari buat daftar yang berisi angka dari 1 sampai 10
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_1Untuk mendapatkan 4 elemen pertama dari daftar dengan sintaks operator slice standar, kita dapat menggunakan ekspresi berikut
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_2Catatan. seperti yang disebutkan sebelumnya, indeks akhir tidak disertakan dalam daftar yang dikembalikan oleh operator irisan
Untuk mendapatkan kembali daftar lengkap menggunakan operator irisan, Anda dapat menggunakan sintaks berikut
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_3Ok, tapi bagaimana ini membantu kita mengambil angka ganjil saja?
Untuk itu kita harus menambahkan sesuatu ke sintaks dasar dari operator slice, itulah mengapa disebut extended syntax
Dengan sintaks yang diperluas Anda dapat meneruskan argumen ketiga ke operator irisan, argumen ini menentukan langkah antara item yang akan diambil dari daftar
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_4Misalnya, jika nilai langkahnya adalah 2, operator irisan akan mengambil setiap 2 angka
Sekarang kita tahu ini, kita siap mengambil angka ganjil dari daftar kita…
Kami pada dasarnya mendapatkan kembali daftar lengkap karena kami belum menyediakan indeks awal dan akhir. Selain itu kami hanya mendapatkan angka ganjil karena kami telah menentukan langkah sama dengan 2
Bagaimana Anda Mencetak Angka Genap Dari Daftar Angka Berturutan dengan Python?
Ini sangat mirip dengan apa yang telah kita lihat di bagian sebelumnya…
Untuk mencetak angka genap dari daftar angka berurutan Python, Anda dapat menggunakan sintaks irisan yang diperluas dengan indeks awal sama dengan 1, indeks ujung kosong dan langkah sama dengan 2
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_6Dan voila
Ini cukup sederhana setelah Anda terbiasa dengan sintaks operator slice
Program Python untuk Mencetak Angka Genap Terbesar dan Angka Ganjil Terbesar dalam Daftar
Untuk mencetak angka genap dan ganjil terbesar dalam daftar Python kita bisa mulai dari konsep yang telah kita lihat sebelumnya terkait dengan operator irisan
Hal tambahan yang harus kita lakukan adalah menerapkan fungsi max() ke daftar yang dikembalikan oleh operator slice
Bilangan Ganjil Terbesar
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_7Bilangan Genap Terbesar
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_8Bagus dan sederhana 🙂
Kembangkan Program Python yang Menghitung Angka Genap dan Ganjil dalam Daftar yang Disediakan oleh Pengguna
Sebelum menyelesaikan tutorial ini mari kita lihat bagaimana kita bisa menggunakan fungsi input Python untuk mendapatkan daftar angka dari input pengguna
Pertama-tama saya ingin melihat tipe data seperti apa yang kami terima dari input pengguna
numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100] print(get_odd_numbers(numbers)) [output] [3, 13, 45, 67, 99]_9Input pengguna adalah string tunggal jadi kita harus melakukan sedikit manipulasi string untuk mengubahnya menjadi daftar terlebih dahulu
Metode Python string split() memungkinkan untuk mengubah string menjadi daftar
def get_even_numbers(numbers): even_numbers = [] for number in numbers: if number % 2 == 0: even_numbers.append(number) return even_numbers0Itu adalah langkah maju, tetapi kami masih memiliki daftar string dan kami menginginkan daftar bilangan bulat sebagai gantinya
Pemahaman daftar dan fungsi Python int() dapat digunakan untuk mengonversi daftar string menjadi daftar bilangan bulat
def get_even_numbers(numbers): even_numbers = [] for number in numbers: if number % 2 == 0: even_numbers.append(number) return even_numbers1Bagus 🙂
Dan sekarang kami siap untuk membuat fungsi kami yang mengubah string yang disediakan oleh pengguna menjadi daftar bilangan bulat
def get_even_numbers(numbers): even_numbers = [] for number in numbers: if number % 2 == 0: even_numbers.append(number) return even_numbers2Setelah mengonversi input pengguna menjadi daftar bilangan bulat, kita dapat memanggil fungsi split_list_even_odd() yang dibuat sebelumnya
Berikut program lengkapnya
def get_even_numbers(numbers): even_numbers = [] for number in numbers: if number % 2 == 0: even_numbers.append(number) return even_numbers_3Mari jalankan program kita…
Berhasil
Kesimpulan
Jika Anda ragu untuk mengekstrak angka genap dan ganjil dari daftar Python sebelum membaca artikel ini…
…sekarang Anda memiliki semua pengetahuan yang Anda butuhkan untuk melakukannya
Jika Anda merasa beberapa hal masih belum jelas kembali dan tulis ulang sendiri contoh-contoh di tutorial ini dari awal
Berlatih adalah cara terbaik untuk mempelajari dan mengingat konstruksi Python
Selamat mengkode. 😀
Pos terkait
Fungsi Masukan Python. Sebuah Tutorial Untuk Belajar Dengan Contoh
Deviasi Standar Panda. Analisis Data Anda Dengan Python
Kesalahan Piton. Nama Tidak Ditentukan. Ayo Perbaiki
Claudio Sabato
Saya Pimpinan Teknologi, Insinyur Perangkat Lunak, dan Pelatih Pemrograman. Saya ingin membantu Anda dalam perjalanan Anda untuk menjadi Pengembang Super