Python-dakı "Əgər dəyər diksiyada deyilsə" və "Diktasiya deyilsə" arasındakı fərq nədir?


cavab 1:

Bu, əslində əvvəlki dəyərlərə əsaslanan ifadələri rədd etdiyimiz Boolean cəbri ilə əlaqəli mükəmməl bir sualdır.

(100 = 1) desək, bu, əlbətdə səhvdir, amma nəyi pisləşdirəcək? ~ (100 = 1) kimi bir şey və bu həqiqətin ~ (yalnış) olmasına səbəb olacaqdır.

Eyni şəkildə burada işləyir

1) Qiymət diktədə deyilsə:

Bir lüğət yazaq x = {100: 1.50: 2.25: 3)

Yuxarıdakı lüğətdə olmayan 12 açarını axtaranda

Lüğətdən bir açarın dəyərini necə əldə edə bilərik? Bunu x [açar] olaraq yazırıq. X [100] kimi, 1 dəyəri var, çünki dəyər orada tapıldı, lakin x [12] bir dəyəri qaytarmır, ancaq x lüğətində 12 düyməsinin olmadığını ifadə edən səhv mesajı atır.

İndi bir lüğətdə yazacağım bir əsas dəyərin olub olmadığını yoxlamaq lazım olub-olmadığı ilə bağlı real suala gəldim

"Açar" x.keys () içərisindədirsə, x yuxarıda göstərilən lüğətə aiddir.

Bunu burada yoxlayaq

əgər 12 x.keys ():

çap ("tapıldı");

başqa cür:

çap ("Not! tapılmadı");

"Tapılmadı" çıxdı, çünki 12 tapılmadı. İndi fərqli bir şeyə cəhd edək.

əgər! 12 x.keys ():

çap ("Fount deyil: 12");

Bu blokda 12 düyməsinin "İSTİFADƏ YOXDUR" olmadığı yoxlanılır.

Əgər dəyər dik deyilsə, tələb etdiyim dəyərin, lüğətdə yoxdursa, həqiqətə uyğun olub olmadığı yoxlanılır. Çox sadədir

2) lüğətdə heç bir dəyər yoxdursa

Sanki yazdığım ifadənin (100 == 1) rədd edilməsi ~ (100 == 1) nisbətini rədd edir.

Bu lüğətdə dəyər varsa, "həqiqi" qaytarır və bu blokdan "saxta" qayıdırsa və əksinə rədd etsə, bu nə deməkdir?

Bu nümunədə lüğət yuxarıda göstərilən kimidir və eyni açar axtarır

əgər! (12 x.keys ()):

çap ("Tapıldı");

Bu kod bloku icra olunur.

12-in açar olub olmadığını yoxlayın və yanlış qayıt. Sonra geri qaytarılmış dəyəri yalan hesab edin, yəni yalnışa doğru və if blokunu həqiqi olaraq təyin edin.

İnşallah indi bunun mənası var.


cavab 2:

Salam, yaxşı bir sualınız var və bu hər hansı bir proqramlaşdırma dilində tədris olunan ən əsas dərslərdən biridir. Bu operator sıralaması olaraq bilinir. Aşağıdakı lüğətə baxaq.

dik = {0: -1, 1: 2, 3: 4} # baxmayaraq qorunan açar söz olduğundan "dik" deyə bilmərik. # Ancaq istifadə etdiyinizdən mən də oldum.

(Qeyd: Dəyəri lüğətdə açar hesab edirəm.)

Üzv operatorları üçün "yox" və "in" kimi "in" in prioriteti var.

Diktə deyil dəyər

Bu ifadəni (diktə) deyil (dəyəri) olaraq bölmək olar. "Yoxdur" dik dildə dəyərin mənsubiyyətini yoxlayır. Buna görə də diktə deyiləm desəm yanılıram. Amma 100 diktə edilməyib desəm, gerçəkləşəcəyəm.

diktə etməyə dəyməz

Bu ifadəni (diktədə) olmayan ((dəyər)) kimi bölmək olar. Beləliklə, əvvəlcə ((dəyər) in (dikt) ilə yoxlayın və sonra imtinanı tətbiq edin. Beləliklə, əgər diksiyada 1 demirəmsə, diksiyada 1 əvvəlcə həqiqi sayılır, sonra "yox" inkarı tətbiq edir və ümumi nəticə "doğru deyil", yəni. H. "Səhv".

Digər tərəfdən, əgər 100-ü diktada demirəmsə, diksiyanın ilk 100-ü yalan sayılacaq, sonra "olmaz" inkarı tətbiq ediləcək və ümumi nəticə doğrudur.

Ümid edirəm ki, kömək edir !!