Hitung luas permukaan dan volume silinder dengan jari-jari 5 dan tinggi 3 dengan python

Sebagian besar dibahas di akhir Bab 2 Pemrograman Praktis dan Bab 3 Think Python. Bab 6 Think Python membahas lebih detail, tetapi kami belum cukup siap untuk itu

Kembali ke Perhitungan Luas dan Volume

  • Ingat kembali program kita untuk menghitung luas permukaan dan volume silinder

    >>> pi = 3.14159
    >>> radius = 2
    >>> height = 10
    >>> base_area = pi * radius ** 2
    >>> volume = base_area * height
    >>> surface_area = 2 * base_area + 2 * pi * radius * height
    >>> print "volume is", volume, ", surface area is", surface_area
    volume is 125.6636 , surface area is 150.79632
    

  • Jika kita ingin menjalankan semua atau sebagian dari ini lagi, pada nilai yang berbeda, kita harus mengedit program dan menjalankannya kembali, atau kita harus mengetik pernyataan lagi

  • Sebagai gantinya, kami akan mengumpulkan kode menjadi satu atau lebih fungsi Python yang dapat kami jalankan berulang kali

  • Tujuan kelas hari ini adalah untuk memperkenalkan dasar-dasar penulisan dan menjalankan fungsi Python

Fungsi untuk Menghitung Luas Lingkaran

  • Dalam matematika, Anda dapat menulis fungsi untuk menghitung luas lingkaran sebagai

    Hitung luas permukaan dan volume silinder dengan jari-jari 5 dan tinggi 3 dengan python

  • Dengan Python, saat mengetik langsung ke juru bahasa, kami menulis

    >>> def area_circle(radius):
    ..   pi = 3.14159
    ..   return pi * radius ** 2
    
    _

  • Kemudian kita dapat menjalankan ini menggunakan

    >>> area_circle(1)
    >>> area_circle(2)
    >>> area_circle(75.1)
    

    Perhatikan bahwa dengan menggunakan contoh dengan nilai kecil untuk radius, kita dapat dengan mudah memeriksa apakah fungsi kita sudah benar

  • Sintaks penting termasuk

    • Penggunaan kata kunci def dan . untuk menunjukkan dimulainya fungsi
    • Lekukan untuk baris setelah def baris
    • Baris kosong di akhir fungsi

    The . diproduksi oleh interpreter Python, seperti halnya >>> .

Apa yang dilakukan Python saat kita mengetik?

  1. Membaca kata kunci def dan mencatat bahwa suatu fungsi sedang ditentukan.

    • Baris yang dimulai dengan def disebut header fungsi
  2. Membaca definisi fungsi lainnya, memeriksa sintaksnya

  3. Mencatat akhir dari definisi ketika baris kosong tercapai

  4. Melihat panggilan fungsi

    >>> area_circle(1)
    

    pada apa yang dikenal sebagai "tingkat teratas" atau "tingkat utama" eksekusi (ditunjukkan dengan adanya >>> ),

    • Melompat kembali ke fungsi
    • Tetapkan 1 ke radius
    • Menjalankan kode di dalam fungsi
    • Mengembalikan hasil perhitungan kembali ke tingkat teratas dan mengeluarkan hasil yang dikembalikan
  5. Mengulangi proses menjalankan fungsi di baris

    >>> area_circle(2)
    
    _

    kali ini dengan radius diberi nilai 2

  6. Mengulangi proses lagi di telepon

    >>> area_circle(75.1)
    

Aliran Kontrol

Untuk mengulangi, "aliran kontrol" Python di sini melibatkan

  • Membaca definisi fungsi tanpa mengeksekusi
  • Melihat "panggilan" ke fungsi, melompat ke awal fungsi dan mengeksekusi
  • Kembali ke tempat di program yang memanggil fungsi dan melanjutkan

Argumen, Parameter, dan Variabel Lokal

  • Argumen adalah nilai 1, 2 dan 75. 1 dalam contoh kami di atas
  • Ini masing-masing diteruskan ke parameter yang disebut radius yang disebutkan di header fungsi. Parameter ini digunakan seperti variabel dalam fungsi.
  • Variabel pi adalah variabel lokal untuk fungsi.
  • Baik pi maupun radius ada di atas / . Pada level ini, mereka adalah "variabel tidak terdefinisi". Cobalah.

Menyimpan Fungsi Anda Dalam File Python

  • Alih-alih mengetik langsung ke juru bahasa, kita bisa mengetikkan fungsi ke dalam file, menyimpan file, lalu menjalankannya
    • Inilah yang terjadi saat Anda mengetik di panel atas tampilan Wing IDE
  • Kami menjalankan program dengan mengklik segitiga hijau. Hasilnya muncul di "Python Shell" di kanan bawah
  • Alur kontrolnya sama seperti jika kita mengetik langsung ke interpreter, tapi
    • Kita membutuhkan pernyataan cetak untuk menghasilkan keluaran
    • Kami tidak memerlukan baris kosong untuk mengakhiri definisi fungsi. Kita hanya perlu menghentikan indentasi
  • Kami akan melakukannya di kelas

Latihan

Untuk masalah berikut, tulis kode Anda seolah-olah sedang diketik ke dalam file (atau, jika Anda memiliki laptop, ketikkan ke dalam file di sudut kiri atas Wing IDE)

  1. Tulis fungsi untuk mengonversi suhu Celsius ke suhu Fahrenheit dan mengembalikannya
  2. Tulis kode untuk menggunakan fungsi
  3. Apa argumen, parameter, dan variabel lokalnya?
  4. Tulis fungsi kedua untuk mengonversi suhu Fahrenheit ke Celsius dan mengembalikannya
  5. Bagaimana Anda dapat menggunakan kedua fungsi tersebut secara bersamaan untuk menguji apakah keduanya benar?

Fungsi dengan Beberapa Argumen / Parameter

  • Untuk perhitungan volume kami, kami menulis fungsi yang melibatkan dua parameter, yang disebut dengan dua argumen

    def volume(radius, height):
        pi = 3.14159
        return pi * radius ** 2 * height
    
    print "volume of cylinder with radius", 1, "and height 2 is", volume(1,2)
    print "volume of cylinder with radius", 2, "and height 1 is", volume(2,1)
    
    _

  • Python menentukan argumen mana yang masuk ke parameter mana berdasarkan urutan argumen, yang pertama ke radius dan yang kedua ke < . height.

  • Dalam contoh ini, kami telah memberikan keluaran yang lebih jelas dan lebih luas

    • Teks di antara " simbol ditampilkan apa adanya. Lebih lanjut tentang ini di Kuliah 4.

Fungsi yang Tidak Mengembalikan Nilai

  • Beberapa fungsi Python tidak mengembalikan nilai — biasanya mereka mencetak hasilnya

  • Sebagai contoh,

    def volumep(r, h):
        pi = 3.14159
        vol =  pi * r ** 2 * h
        print "The volume of a cylinder with radius", r, "and height", h, "is", vol
    
    volumep(1,2)
    volumep(2,1)
    

  • Akhir dari fungsi ditunjukkan dengan garis yang dimulai pada volumep(1,2) , yang berada pada tingkat lekukan yang sama . def.

  • Tidak ada return dan kode panggilan tidak mencoba untuk menggunakan (e. g. cetak) nilai yang dikembalikan.

    • Kita dapat menambahkan return tanpa nilai di akhir fungsi.
  • Pilihan antara menggunakan fungsi yang memiliki dan tidak memiliki nilai kembalian akan menjadi jelas seiring waktu

Latihan

  1. Tulis fungsi Python yang menghitung dan mengembalikan rata-rata dari tiga angka. Tambahkan kode untuk menunjukkan bagaimana ini dipanggil
  2. Tulis fungsi Python yang menghitung dan menampilkan rata-rata dari tiga angka, tanpa mengembalikan hasilnya. Tunjukkan bagaimana ini disebut

Fungsi yang Memanggil Fungsi

  • Mari kita gunakan fungsi luas lingkaran kita untuk menghitung luas permukaan silinder

  • Ini kode Python, di file surface_area. py .

    def area_cylinder(radius,height):
        circle_area = area_circle(radius)
        pi = 3.14159
        height_area = 2 * radius * pi * height
        return 2*circle_area + height_area
    
    def area_circle(radius):
        pi = 3.14159
        return pi * radius ** 2
    
    print 'The area of a circle of radius 1 is', area_circle(1)
    r = 2
    height = 10
    print 'The surface area of a cylinder with radius', r
    print 'and height', height, 'is', area_cylinder(r,height)
    
    _

  • Sekarang kami telah mendefinisikan dua fungsi, salah satunya memanggil yang lain

  • Aliran kontrol berlangsung dalam dua cara berbeda di sini

    1. Mulai dari cetak pertama di tingkat teratas, menjadi area_circle and back.
    2. Pada cetak
      1. ke area_cylinder ,
      2. ke dalam lingkaran_area ,
      3. kembali ke area_cylinder , dan
      4. kembali ke tingkat atas
  • Penerjemah Python melacak di mana ia bekerja dan ke mana harus kembali ketika selesai dengan suatu fungsi, bahkan jika itu kembali ke fungsi lain

Mengumpulkan Teladan Kita Menjadi Satu Fungsi Besar

  • Kita dapat mengumpulkan kode kita dalam satu rangkaian fungsi lengkap, menuliskannya ke dalam file bernama area_volume. py .

    def area_circle(radius):
        pi = 3.14159
        return pi * radius ** 2
    
    def volume_cylinder(radius,height):
        area = area_circle(radius)
        return area * height
    
    def area_cylinder(radius,height):
        circle_area = area_circle(radius)
        pi = 3.14159
        height_area = 2 * radius * pi * height
        return 2*circle_area + height_area
    
    def area_and_volume(radius, height):
        print "For a cylinder with radius", radius, "and height", height
        print "The surface area is", area_cylinder(radius,height)
        print "The volume is", volume_cylinder(radius,height)
    
    _

  • Sekarang kita memiliki fungsi yang dapat kita gunakan untuk menghasilkan keluaran yang jelas dan lengkap untuk berbagai nilai jari-jari lingkaran dan jari-jari dasar serta tinggi silinder

Memikirkan Apa yang Anda Lihat

Mengapa BUKAN kesalahan menggunakan nama yang sama, misalnya radius , dalam fungsi yang berbeda (dan terkadang di tingkat atas)

Mari Membuat Beberapa Kesalahan

Untuk memeriksa pemahaman kita, kita akan bermain-main dengan kode dan membuat beberapa kesalahan dengan sengaja

  • Menghapus pi
  • Mengubah nama suatu fungsi
  • Mengganti urutan parameter dalam panggilan fungsi
  • Membuat kesalahan dalam perhitungan kami

Latihan

  1. Buatlah fungsi untuk menghitung luas persegi panjang
  2. Tulis fungsi kedua yang mengukur panjang, lebar, dan tinggi benda persegi panjang dan menghitung luas permukaannya. Itu harus menggunakan fungsi yang Anda tulis untuk menghitung luas persegi panjang, memanggilnya tiga kali

Mengapa Fungsi?

Kami menulis kode itu

  • Lebih mudah untuk dipikirkan dan ditulis
  • Lebih mudah untuk diuji. kita dapat memeriksa kebenaran area_circle sebelum kita menguji area_cylinder .
  • Lebih jelas untuk dibaca orang lain
  • Dapat digunakan kembali di program lain

Bersama-sama ini mendefinisikan gagasan enkapsulasi, ide penting lainnya dalam ilmu komputer

Fungsi Bawaan Python

  • Python menyediakan sejumlah fungsi yang sudah ditentukan untuk Anda gunakan. Ini disebut fungsi bawaan
  • Beberapa contoh, beberapa di antaranya telah kita lihat
    • int()
    • mengambang()
  • Mari bermain-main untuk melihat apa yang mereka lakukan

Ringkasan

  • Fungsi untuk enkapsulasi dan penggunaan kembali
  • Sintaks fungsi
  • Argumen, parameter, dan variabel lokal
  • Aliran kontrol, termasuk fungsi yang memanggil fungsi lain
  • Fungsi bawaan
  • Anda dapat menemukan kode yang dikembangkan di kelas ini di bawah modul kelas. Secara khusus, area_solid dan area_volume .

Apa yang harus dikerjakan sebelum kelas berikutnya

Konsep untuk ditinjau sebelum kelas berikutnya

  • Ekspresi. Jenis data apa yang mereka kembalikan?

  • Coba ketikkan rumus matematika sederhana ke juru bahasa Python

    >>> def area_circle(radius):
    ..   pi = 3.14159
    ..   return pi * radius ** 2
    
    _0

dan temukan hasilnya secara manual. Jangan tertipu oleh ruang. Prioritas operator berlaku. Cobalah menulis ekspresi Anda sendiri

  • Variabel. Apakah Anda tahu apa nama variabel yang valid dan tidak valid?

  • Apa perbedaan output antara

    >>> def area_circle(radius):
    ..   pi = 3.14159
    ..   return pi * radius ** 2
    
    _1

    Coba tebak sebelum mengetiknya, tapi biasakan mengetik pernyataan sederhana seperti ini dan lihat hasilnya

  • Penugasan. Bisakah Anda melacak nilai variabel setelah banyak tugas berbeda? . Coba lakukan secara manual

    >>> def area_circle(radius):
    ..   pi = 3.14159
    ..   return pi * radius ** 2
    
    _2

    Ngomong-ngomong, biasakan memilih nama variabel yang bagus. Kalau tidak, saya akan menyiksa Anda dengan pertanyaan seperti ini. Variabel Anda harus bermakna jika memungkinkan bagi Anda dan orang lain yang membaca kode Anda

  • Fungsi. Tulis sendiri fungsi dari kelas menggunakan juru bahasa Python. Cobalah untuk melakukannya tanpa melihat catatan. Dapatkah engkau melakukannya?

    Bagaimana Anda menemukan luas permukaan silinder dengan Python?

    Rumus luas silinder. Luas permukaan = 2πr(r+h) dengan r--> radius lingkaran alas dan h adalah tinggi permukaan kurva. Rumus volume silinder. Volume silinder=πr²h dimana adalah--> jari-jari lingkaran alas dan h adalah tinggi bidang lengkung.

    Berapakah volume tabung dengan tinggi jari-jari 5 cm dalam cm?

    Volume tabung adalah πr2hπ×52×10= 250πcm2 .

    Bagaimana Anda mencetak volume silinder dengan Python?

    Program Python .
    tinggi = 38
    radius=35
    kue=3. 14285714286
    volume = pai * (jari-jari * jari-jari) * tinggi
    print("volume kubus="+str(volume))

    Bagaimana cara mencari luas permukaan dan volume tabung?

    Volume silinder adalah π r² h, dan luas permukaannya adalah 2π r h + 2π r² .