XORing Nilai Logik dalam Python
Apabila berurusan dengan nilai logik dalam Python, terutamanya apabila melakukan semakan pada pembolehubah rentetan, ia mungkin perlu untuk tentukan sama ada betul-betul salah satu daripadanya adalah Benar (iaitu, bukan Tiada atau rentetan kosong). Operator XOR logik ^ tidak sesuai untuk tujuan ini, kerana ia menjalankan operasi bitwise dan tidak ditakrifkan secara universal untuk objek.
Penyelesaian: Ketaksamaan Boolean
Untuk mencapai tingkah laku XOR yang dikehendaki, tukarkan pembolehubah kepada nilai boolean menggunakan fungsi bool() dan kemudian gunakan operator !=. Ini secara berkesan menilai sama ada nilai boolean bagi kedua-dua pembolehubah adalah tidak sama, yang memenuhi syarat XOR:
<code class="python">bool(a) != bool(b)</code>
Sebagai contoh, dalam Python, rentetan kosong menilai kepada False:
bool("") == False
Oleh itu, coretan kod berikut akan mengeluarkan "ok" jika hanya satu daripada rentetan input tidak kosong:
<code class="python">str1 = raw_input("Enter string one:") str2 = raw_input("Enter string two:") if bool(str1) != bool(str2): print "ok" else: print "bad"</code>
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Kelakuan XOR dengan Nilai Logik dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!