Mchwair

Uzman
Katılım
30 Haziran 2024
Mesajlar
98
Beğeniler
27
Python:
class personel:
kisiler = 0
def init_(self,ad,soyad,dogumtarihi,mail,instagram):
self.ad=ad
self.soyad=soyad
self.dogumtarihi=dogumtarihi
self.mail=mail
personel.kisiler+=1

def yas(self):
yasi = 2024-self.dogumtarihi
print(yasi)

p1 = personel(ad:"özgür",soyad:"kalafat",dogumtarihi:1983,mail:"[email protected]")
p2 = personel(ad:"recep",soyad:"pelit",dogumtarihi:2002,mail:"[email protected]")
p3 = personel(ad:"aliçetin",soyad:"avcuk",dogumtarihi:2004,mail:"[email protected]",instagram:"recepelit0")

print(personel.kisiler)



Ekran görüntüsü 2024-07-02 204529.webp


Ekran görüntüsü 2024-07-02 204233.webp


Aynı kodları yazmama rağmen çalıştıramadım Visual code Studio'da sizce neden?
 
Son düzenleyen: Moderatör:
Öncelikle kodu düzgün paylaşamamışsınız. Moderatör kod içine almış olabilir. Yaptıysa onun ayıbı. Böyle konularda ellememeleri gerektiğini hala öğrenemediler. Kimin ne hata yaptığı anlaşılmıyor.

Verilen kodda indentation, keyword argument'ları eşittir yerine iki nokta ile verme, instagram için default argument kullanmama veya p1 ve p2 için tanımlamama gibi hatalar var.

İnsaniyet namına boşluk tuşuna nefret beslemezseniz sevinirim. Kendisi okunurluğu artırıyor.

Kod:
class personel:
    kisiler = 0
    def __init__(self, ad, soyad, dogumtarihi, mail, instagram=""):
        self.ad = ad
        self.soyad = soyad
        self.dogumtarihi = dogumtarihi
        self.mail = mail
        personel.kisiler += 1
    def yas(self):
        yasi = 2024 - self.dogumtarihi
        print(yasi)

p1 = personel(ad="özgür", soyad="kalafat", dogumtarihi=1983, mail="[email protected]")
p2 = personel(ad="recep", soyad="pelit", dogumtarihi=2002, mail="[email protected]")
p3 = personel(ad="aliçetin", soyad="avcuk", dogumtarihi=2004, mail="[email protected]", instagram="recepelit0")

print(personel.kisiler)
 
Öncelikle kodu düzgün paylaşamamışsınız. Moderatör kod içine almış olabilir. Yaptıysa onun ayıbı. Böyle konularda ellememeleri gerektiğini hala öğrenemediler. Kimin ne hata yaptığı anlaşılmıyor.

Verilen kodda indentation, keyword Argument'ları eşittir yerine iki nokta ile verme, instagram için default argument kullanmama veya p1 ve p2 için tanımlamama gibi hatalar var.

İnsaniyet namına boşluk tuşuna nefret beslemezseniz sevinirim. Kendisi okunurluğu artırıyor.

Kod:
class personel:
 kisiler = 0
 def __init__(self, ad, soyad, dogumtarihi, mail, instagram=""):
 self.ad = ad.
 self.soyad = soyad.
 self.dogumtarihi = dogumtarihi.
 self.mail = mail.
 personel.kisiler += 1
 def yas(self):
 yasi = 2024 - self.dogumtarihi
 print(yasi)

p1 = personel(ad="özgür", soyad="kalafat", dogumtarihi=1983, mail="[email protected]")
p2 = personel(ad="recep", soyad="pelit", dogumtarihi=2002, mail="[email protected]")
p3 = personel(ad="aliçetin", soyad="avcuk", dogumtarihi=2004, mail="[email protected]", instagram="recepelit0")

print(personel.kisiler)

Teşekkür ederim printi almak için bu kodları kullandım aydınlattığın için sağ ol.

Print(p1.dict)
Print(p2.dict)
Print(p3.dict)
 
Son düzenleyen: Moderatör:
Aynı kodları yazmama rağmen çalıştıramadım Visual Studio Code'da. Sizce neden?

Alttaki PyCharm diye tahmin ediyorum. Bu IDE'nin bir özelliği olan Inlay Hints, kafanızı karıştırmış.

O iki noktayla yazılmış hâlde görünen ad:, soyad: vb. parametre isimleri aslında kodda yer almıyor. IDE anlaşılırlığı artırmak, hangi parametrenin hangisi olduğunu görebilmemiz için kendisi yerleştiriyor. Aslında kod şu hâlde yani:
Python:
p1 = personel("özgür","kalafat",1983,"[email protected]")
p2 = personel("recep","pelit",2002,"[email protected]")
p3 = personel("aliçetin","avcuk",2004,"[email protected]","recepelit0")




Burada ek bir hata olarak son 4 satır, birer boşluk ile başlıyor. Oysaki hiç boşluk olmamalı. p1'in altındaki, p2'nin solundaki ve print(...)'in sonundaki kırmızı çizgiler bundan kaynaklı. Ben de denedim, aynı yerlerde çizgiler belirdi.




Yalvarırım Prettier kur.

Prettier, Python'u desteklemiyormuş. Ben de neden Prettier yerine Black kullandığımı sorguladım, bundan dolayıymış. : D