salam. riyaziyyatdakı ədəd çoxluqlarını hamımız azdan-çoxdan bilirik. altçoxluqlardan üstçoxluqlara doğru sıralasaq, natural ədədlər, tam ədədlər, rasional ədədlər, həqiqi ədədlər, kompleks ədədlər. hamımıza da məlumdu ki, sağda olanlar solda olanları da əhatə eləyir.
məsələn 1 – həm natural ədəddi, eyni zamanda tam və rasionaldı və 1 + 0i (i – xəyali hissə) formasında yazıla bildiyiyçün həm də kompleks ədəddi.
pythonda kompleks ədədlər (x+yj) formasında göstərilir. yəni 3+5j verilən tipi kimi kompleks ədədlərə aiddi.
soruşmaq istədiyim budu ki, bir-birinə ekvivalent iki ədədin tipləri fərqli ola bilərmi? (aşağıdakından belə məlum olur ki ki, mümkündü, amma necə?)
>>> x = 3+5j >>> type(x) <type 'complex'>
x-dən xəyali hissəni çıxarsaq –
y = x-5j
əldə qalacaq 3 – yəni həqiqi hissə.
>>> y = x-5j >>> y (3+0j) >>> type(y) <type 'complex'> >>> y == 3 True >>> type(3) <type 'int'> >>> type(3) == 'complex' False
ümumiyyətlə ədəd çoxluqları pythonda necə tədqiq olunur?
Verilmiş cavablar və yazılan şərhlər (1 cavab var)
2
Salam. Məncə bir çox dillərdə bu analojidir.
Yəni əməliyyat zamanı hansısa operatorun ədədə təsirindən yaranan yeni ədəd də əvvəlkinin tipinə aid hesab edilir, təbii ki operator onun tipini daha alt sinfə keçirmirsə. Baxmayaraq ki 3 ən üst sinfə natural ədədlərə aiddir, əməliyyatdan öncə operatorun təsir etdiyi ədəd kompleks idi deyə nəticədə alınan 3 də kompleks olacaq.
İlkin tip mənimsədilməsi isə maksimal üst sinif prinsipi ilə olur, səbəb də bəllidir, proqramın daha qənaətcil işləməsi üçün. Yəni siz x=3+4j verirsizsə məcburən complex olmalı olur, amma ilk əvvəldən x=3 verirsizə, üst sinif int tipidir deyə int hesab edilir
Sual verin
Cavab verin