Ubuntu Türkiye

Yazılım => Programlama => Python => Konuyu başlatan: Kanta Mizuno - 11 Mart 2019 - 16:31:37

Başlık: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Kanta Mizuno - 11 Mart 2019 - 16:31:37
Arkadaşlar forumda ve python dilinde yeniyim. Aşağıda basit bir faktöriyel hesaplayan programda sürekli olarak else'in olduğu satırda invalid syntax hatası veriyor. Neyi fark edemiyorum burada anlamadım. Sinirden su kaynatmak üzereyim.

Yardımcı olursanız sevinirim.

faktoriyel=1
while True:
    sayi= int(input (" girdiginiz deger negatif olamaz"))
            if (sayi <= 0):
                print ("Negatif yada sıfır olamaz")
            else:
                for i in range(1, sayi + 1)
                faktoriyel= faktoriyel*i
break
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Empat - 11 Mart 2019 - 19:41:14
Python bilgim pek yok, fakat aldığınız hatayı satır numarasıyla beraber tam olarak paylaşırsanız yardımcı olabilirim.

Ayrıca bir tahminim var. O en sondaki break'ın amacı nedir? Ben bir anlam veremedim. Break ifadesini kaldırıp deneyin.

Alternatif olarak size sorununuzu çözecek bir yol gösterebilirim.

Facebook'ta İngilizce ve Türkçe içerikli Python grupları var. Bu gruplarda birçok aktif ve yardımsever üye var.

Sorununuzu orada dile getirirseniz kesinlikle yardımcı olacaklardır. İngilizceniz varsa İngilizce Python gruplarından yardım alma olasılığınız çok daha büyük.

Tabii Türkçe gruplardan da yardım alabilirsiniz. Gruplara girerken soruları cevaplarsanız, gruba dahil olmanıza izin vereceklerdir.
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Amenofis - 11 Mart 2019 - 22:23:53
Girintilemeye dikkat etmelisin. "if" mantıksal olarak while döngüsünden bir kademe içerde olmalı. Sen 2 kademe içeri almışsın. Bir de for döngüsünün başlığına ":" koymamışsın. Son olarak "break" else'e ait olmalı.

faktoriyel=1
while True:
   sayi= int(input (" girdiginiz deger negatif olamaz: "))
   if (sayi <= 0):
      print ("Negatif yada sıfır olamaz")
   else:
      for i in range(1, sayi + 1):
         faktoriyel= faktoriyel*i
     
      print(faktoriyel)
      break



Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Empat - 11 Mart 2019 - 22:29:57
[mention=644795]@Amenofis[/mention]

Girintilemeye kod düzeni ve okunabilirliği açısından dikkat edilmeli. Girintilemenin hata sebebi olduğunu kastetmiyorsunuz sanırım?
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Amenofis - 11 Mart 2019 - 22:42:14
Alıntı yapılan: Empat - 11 Mart 2019 - 22:29:57
[mention=644795]@Amenofis[/mention]

Girintilemeye kod düzeni ve okunabilirliği açısından dikkat edilmeli. Girintilemenin hata sebebi olduğunu kastetmiyorsunuz sanırım?
Kodu okursan eğer { }  gibi ayıraçlar olmadığını farkedeceksin. Python, kodun hangi bloğa ait olduğunu girintiye bakarak bulur ve girinti için 4 boşluk (tab değil) olmasını tavsiye eder.
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Empat - 12 Mart 2019 - 08:44:08
[mention=644798]@Amenofis[/mention]

Bunu bilmiyordum. Bildiğim, PHP, Javascript dillerinde white space geçerli. Bilgi paylaşımı için teşekkürler.
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: programmer - 12 Mart 2019 - 14:21:52
IDE olarak PyCharm veya Visual Studio Code öneririm.  VSCode çok sayıda Python uzantısı var kurabileceğiniz.
Benim de sinir olduğum "indent" hatalarını yakalama konusunda yararlı olur. Tabiki henüz yapmak istediğiniz anlayıp düzeltme yapan bir yapay zeka eklentisi yok bildiğim kadarıyla.
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Empat - 12 Mart 2019 - 15:13:20
[mention=644813]@programmer[/mention],
[mention=644784]@Kanta Mizuno[/mention]

Jetbrains'in her ürünü gibi PyCharm ürünü de muhteşeme yakın. Ben de tavsiye ediyorum.
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: coderman - 10 Nisan 2019 - 17:20:45
Kodlarınızı paste.ubuntu.com üzerinde paylaşır hata ekran görüntüsünü de bize iletirseniz daha sağlıklı yardımda bulunabiliriz :)
Başlık: Ynt: Sürekli olarak invalid syntax hatası alıyorum!
Gönderen: Empat - 11 Nisan 2019 - 06:16:35
[mention=645348]@coderman[/mention]

İletilerde kullanabileceğimiz code etiketleri varken ne gerek var pastebin vb. sitelere yapıştırmaya?

[mention=644784]@Kanta Mizuno[/mention]

Sorununuz çözüldüyse, konu başlığınızı "[ÇÖZÜLDÜ]" olarak işaretleyin lütfen.

"[ÇÖZÜLDÜ]" işaretlemesini nasıl yapacağınızı bilmiyorsanız buraya (https://forum.ubuntu-tr.net/index.php?topic=31789.msg380776) tıklayarak, "[ÇÖZÜLDÜ]" olarak işaretlemeyi öğrenebileceğiniz makaleye gidebilirsiniz.