(Python) Subrutin: Prosedur dan Fungsi - 2


Fungsi subrutin

Fungsi adalah subrutin yang mengembalikan hasil (nombor, rentetan aksara, dll.).< / div>
Bayangkan anda telah memesan produk dari kedai dalam talian. Dari sudut pengaturcaraan, anda memanggil beberapa subrutin, dan tidak seperti prosedur, subrutin ini mesti mengembalikan hasil - menghantar produk yang anda pesan. Subrutin ini dipanggil fungsi.
Fungsi diformat dengan cara yang sama seperti prosedur. Satu-satunya perbezaan daripada prosedur ialah kehadiran pengendali khas return, selepas itu nilai yang akan dikembalikan kepada program utama ditulis.

Fungsi yang mengembalikan min aritmetik bagi dua integer akan kelihatan seperti ini: def purata(a, b): purata = (a + b) / 2 pulangan purata Ia kekal untuk memahami cara memanggil fungsi ini dalam program utama:
Anda tidak sepatutnya memanggil fungsi dengan cara yang sama seperti prosedur: purata(10, 5)
Nilai yang dikembalikan oleh fungsi akan hilang. Seolah-olah barangan dari kedai online itu tidak diberikan kepada sesiapa, malah dibuang begitu sahaja. Tidak mungkin pelanggan akan menyukainya.

Lebih tepat untuk menyimpan hasil dalam pembolehubah (atau mencetaknya ke skrin): a = purata(10, 5) cetak(purata(10, 5))
Perlu diingat!
  1. Subrutin fungsi diformatkan dengan cara yang sama seperti prosedur.
  2. Fungsi dipanggil di tempat dalam program yang anda akan meletakkan nilai. Contohnya, sebagai parameter bagi pernyataan print() atau dalam ungkapan aritmetik. 

Algoritma Euclid

Algoritma Euclid — cekap BC" title="Algoritma">Algoritma Untuk Mencari Pembahagi Sepunya Terhebat  dua Integer (atau umum ukuran  dua Barisan). Algoritma ini dinamakan sempena Greek Matematik Euclid (abad ke-3 B.C. ), yang pertama kali menerangkannya dalam gaya VII dan X buku «Permulaan". Ia adalah salah satu algoritma berangka tertua yang digunakan hari ini.

Ingat matematik.

Pembahagi sepunya yang paling hebat bagi dua nombor asli (gcd) ialah nombor asli terbesar yang boleh dibahagikan.

Sebagai contoh, nombor 12 dan 18 mempunyai pembahagi sepunya: 2, 3, 6. Pembahagi sepunya terbesar ialah 6. Ini ditulis sebagai: gcd(12, 18) = 6

Dalam pengaturcaraan, terdapat beberapa pelaksanaan algoritma Euclid. Berikut adalah penerangan salah satunya dalam bentuk gambar rajah blok.


Cuba laksanakan algoritma ini.

Fungsi logik

Selalunya pengaturcara menggunakan fungsi boolean yang mengembalikan nilai boolean "true" atau "palsu" (benaratau salah)
Fungsi sedemikian berguna untuk   semak beberapa harta.
Mari kita pertimbangkan dua contoh menulis fungsi logik yang menyemak sama ada nombor adalah genap.
 
Dan nota terakhir tentang bekerja dengan fungsi dan prosedur: bilangan fungsi dan prosedur dalam program tidak terhad. Di samping itu, satu subrutin boleh memanggil subrutin lain dan juga dirinya sendiri.
 

Penerangan Contoh Subrutin
1) Cara yang lebih baik: hasil ungkapan n % 2 == 0 akan menjadi benar (Benar) atau palsu (Salah) def isEven(n): return (n % 2 == 0)
2) Anda boleh menulisnya seperti itu, tetapi lebih baik jangan lakukan rekod yang lebih panjang lagi def isEven(n): jika n % 2 == 0: kembali benar; lain: kembalikan Salah