cari
Rumahpembangunan bahagian belakangTutorial PythonMengapakah `a == x atau y atau z` Sentiasa Menilai kepada Benar dalam Python?

Why Does `a == x or y or z` Always Evaluate to True in Python?

Kekeliruan "a == x atau y atau z"

Apabila cuba membandingkan pembolehubah dengan berbilang nilai, ia menggoda untuk digunakan Pengendali logik Python, seperti dalam:

if a == x or y or z:  # Incorrect

Walau bagaimanapun, ungkapan ini akan sentiasa menilai kepada Benar, tanpa mengira nilai a. Ini kerana pengendali "atau" dalam konteks ini tidak berkelakuan seperti yang diharapkan.

Cara Operator "atau" Berfungsi

Operator "atau" Python (|) akan menilai kepada Benar jika mana-mana operannya adalah Benar. Jadi dalam ungkapan di atas, memandangkan salah satu daripada x, y atau z sentiasa Benar (nilai bukan kosong ialah Benar dalam Python), ungkapan itu menilai kepada Benar tanpa mengira nilai a.

Cara Betul untuk Membandingkan dengan Berbilang Nilai

Untuk membandingkan pembolehubah dengan berbilang nilai dengan betul, terdapat beberapa pilihan:

  • Operator "atau" eksplisit:

Gunakan operator "atau" eksplisit untuk membandingkan dengan setiap nilai secara berasingan:

if a == x or a == y or a == z:  # Correct
  • Set atau Senarai:

Buat satu set atau senarai nilai yang sah dan gunakan operator "masuk" untuk menyemak keahlian:

if a in {"Kevin", "Jon", "Inbar"}:  # Correct
  • Ungkapan Penjana dan "any()":

Gunakan ungkapan penjana dengan "any()" untuk menyemak secara eksplisit setiap nilai:

if any(a == auth for auth in ["Kevin", "Jon", "Inbar"]):  # Correct

Pertimbangkan Prestasi

Untuk prestasi, menggunakan set atau senarai dengan operator "in" lazimnya pilihan terpantas. Ungkapan penjana menggunakan "any()" adalah yang paling bertele-tele dan paling perlahan.

Contoh Penggunaan

Untuk memberikan akses kepada pengguna yang dibenarkan sahaja:

authorized_names = {"Kevin", "Jon", "Inbar"}
name = input("Please enter your name: ")
if name in authorized_names:
    print("Access granted.")
else:
    print("Access denied.")

Atas ialah kandungan terperinci Mengapakah `a == x atau y atau z` Sentiasa Menilai kepada Benar dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Bagaimana anda menambah elemen ke array python?Bagaimana anda menambah elemen ke array python?Apr 30, 2025 am 12:19 AM

Inpython, youAppendElementStoalistusingTheAppend () method.1) useAppend () forsingLements: my_list.append (4) .2) useextend () or = formultipleelements: my_list.extend (lain_list) ormy_list = [4,5,6] .3) UseInsert () ForSpecificPositions: my_list.insert (1,5) .beaware

Bagaimana anda menyahpepijat isu berkaitan shebang?Bagaimana anda menyahpepijat isu berkaitan shebang?Apr 30, 2025 am 12:17 AM

Kaedah untuk debug masalah shebang termasuk: 1. Semak garis shebang untuk memastikan ia adalah baris pertama skrip dan tidak ada ruang prefixed; 2. Sahkan sama ada laluan penterjemah adalah betul; 3. Panggil jurubahasa secara langsung untuk menjalankan skrip untuk mengasingkan masalah shebang; 4. Gunakan tali atau amanah untuk mengesan panggilan sistem; 5. Periksa kesan pembolehubah persekitaran pada shebang.

Bagaimana anda membuang elemen dari array python?Bagaimana anda membuang elemen dari array python?Apr 30, 2025 am 12:16 AM

PythonlistscanbemanipulaterAnseveralMethodstoremoveelements: 1) theremove () methodRemoveStHefirStoccrencrentrenceAfaspiedValue.2)

Apakah jenis data yang boleh disimpan dalam senarai python?Apakah jenis data yang boleh disimpan dalam senarai python?Apr 30, 2025 am 12:07 AM

Pythonlistscanstoreanydatatype, termasuk interintegers, strings, floats, booleans, otherlists, dandictionaries

Apakah beberapa operasi biasa yang boleh dilakukan pada senarai Python?Apakah beberapa operasi biasa yang boleh dilakukan pada senarai Python?Apr 30, 2025 am 12:01 AM

PythonlistsSupportnumerousoperations: 1) addingElementSwithAppend (), extend (), andInsert ()

Bagaimana anda membuat tatasusunan pelbagai dimensi menggunakan numpy?Bagaimana anda membuat tatasusunan pelbagai dimensi menggunakan numpy?Apr 29, 2025 am 12:27 AM

Buat tatasusunan pelbagai dimensi dengan numpy dapat dicapai melalui langkah-langkah berikut: 1) Gunakan fungsi numpy.array () untuk membuat array, seperti Np.Array ([[1,2,3], [4,5,6]]) untuk membuat array 2D; 2) Gunakan np.zeros (), np.ones (), np.random.random () dan fungsi lain untuk membuat array yang diisi dengan nilai tertentu; 3) Memahami sifat bentuk dan saiz array untuk memastikan bahawa panjang sub-array adalah konsisten dan mengelakkan kesilapan; 4) Gunakan fungsi np.reshape () untuk mengubah bentuk array; 5) Perhatikan penggunaan memori untuk memastikan bahawa kod itu jelas dan cekap.

Terangkan konsep 'penyiaran' dalam array Numpy.Terangkan konsep 'penyiaran' dalam array Numpy.Apr 29, 2025 am 12:23 AM

Broadcastinginginnumpyisamethodtoperformoperationsonarraysofdifferentshapesbyautomaticallyaligningthem.itsImplifiescode, enhancesreadability, andboostsperformance.here'showitworks: 1) smallerarraysarepaddedwithonestomatchdimensions.2) CompatibeSt

Terangkan cara memilih antara senarai, array.array, dan array numpy untuk penyimpanan data.Terangkan cara memilih antara senarai, array.array, dan array numpy untuk penyimpanan data.Apr 29, 2025 am 12:20 AM

Forpythondatastorage, chooselistsforflexabilityWithMixedDatatypes, array.arrayformemory-efficienthomogeneousnumericaldata, andnumpyarraysforadvancednumericalcomputing.listsareversatileButlessefficefientfientfientfientfientfientfientfientfientfientfientfientforydodeSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShiSforayDataSetSetShoFficeSforaydataSetShoSforayDataSetsforayDataSetsforayDataSetsforaydataSetShiSforayDodeSforayDodeSforaydataSetRaydataSetRaydataSetRaydataSet

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod