Cara Mencetak Nombor Perdana dengan betul dalam Python: Menyelesaikan Isu dengan Output Ganjil

Mary-Kate Olsen
Lepaskan: 2024-10-21 12:38:02
asal
918 orang telah melayarinya

How to Correctly Print Prime Numbers in Python: Resolving an Issue with Odd Output

Mencetak Nombor Perdana dalam Python

Dalam percubaan untuk menyenaraikan nombor perdana daripada 1 hingga 100, pengguna Python menghadapi masalah di mana output memaparkan nombor ganjil dan bukannya nombor perdana. Untuk menangani perkara ini, kami akan menyelidiki isu ini dan menyediakan penyelesaian yang disemak semula.

Kod awal, seperti yang ditunjukkan di bawah, berulang pada nombor dari 1 hingga 100 dan untuk setiap nombor, ia menyemak sama ada ia boleh dibahagikan dengan sebarang nombor daripada 2 kepada dirinya sendiri:

<code class="python">for num in range(1, 101):
    for i in range(2, num):
        if num % i == 0:
            break
        else:
            print(num)
            break</code>
Salin selepas log masuk

Masalah dengan pendekatan ini terletak pada kriteria penamatan gelung bersarang. Sebaik sahaja nombor didapati boleh dibahagikan dengan faktor i, gelung dalam pecah dan pernyataan print(num) dilaksanakan. Walau bagaimanapun, gelung luar kemudiannya mula menyemak nombor yang sama dengan nilai seterusnya i.

Untuk menyelesaikannya, kita perlu mengemas kini gelung untuk menyemak kebolehbahagi dengan semua nombor daripada 2 hingga punca kuasa dua nombor. Jika tiada pembahagi ini membahagi nombor, ia berkemungkinan besar. Kod yang diperbetulkan ialah:

<code class="python">for num in range(2, 101):
    prime = True
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            prime = False
            break
    if prime:
        print(num)</code>
Salin selepas log masuk

Penyelesaian ini mengesan nombor perdana dengan cekap dengan menyemak kebolehbahagiaan secara berulang oleh faktor yang lebih kecil. Hasilnya, output akan memaparkan nombor perdana dari 1 hingga 100 dengan tepat.

Atas ialah kandungan terperinci Cara Mencetak Nombor Perdana dengan betul dalam Python: Menyelesaikan Isu dengan Output Ganjil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!