Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membandingkan Berbilang Pembolehubah Python dengan Cekap kepada Nilai Integer Tunggal?
Membandingkan Berbilang Pembolehubah kepada Satu Nilai
Penerangan Masalah:
Mencari kaedah dalam Python untuk memastikan sama ada berbilang pembolehubah adalah sama dengan integer tertentu dan seterusnya menghasilkan rentetan yang terdiri daripada tiga surat. Sebagai contoh, diberikan:
x = 0 y = 1 z = 3 mylist = [] if x or y or z == 0: mylist.append("c") if x or y or z == 1: mylist.append("d") if x or y or z == 2: mylist.append("e") if x or y or z == 3: mylist.append("f")
...output yang dijangkakan ialah senarai ["c", "d", "f"].
Jawapan:
Kod yang disediakan salah faham ungkapan Boolean dalam Python. Operator atau operator memeriksa setiap bahagian secara berasingan, menghasilkan penilaian berikut:
(x == False or y == False) or (y == False or z == False)
Untuk mengesahkan bahawa sekurang-kurangnya satu pembolehubah sama dengan integer yang diingini, gunakan ungkapan berikut:
if 1 in (x, y, z): ....
Sebagai alternatif , untuk penambahbaikan kecekapan:
if 1 in {x, y, z}: ....
Penjelasan:
Pengendali mempunyai keutamaan dalam Python dan operator atau mempunyai keutamaan yang lebih rendah daripada kesamaan (=). Oleh itu, kesaksamaan dinilai terlebih dahulu. Selain itu, operator atau mengembalikan nilai kebenaran pertama yang ditemui. Ini bermakna jujukan kod:
x or y or z == 0
akan mengembalikan Palsu jika x bukan 0, walaupun y atau z ialah. Untuk menilai berbilang pembolehubah terhadap satu nilai dengan betul, gunakan ungkapan seperti:
x == 1 or y == 1 or z == 1
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Berbilang Pembolehubah Python dengan Cekap kepada Nilai Integer Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!