SyntaxError. Bir türlü çözemedim

Başlatan bourbaki, 01 Nisan 2016 - 21:23:04

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

bourbaki

Yazdığım her türlü örnekte aynı hatayla karşılaşıyorum. Kendi örneklerimde de İstihza'dan aldığım örneklerde de mesela :
SyntaxError: multiple statements found while compiling a single statement

kullanıcı_adı = input("Kullanıcı adınız:")

parola= input("Parolanız: ")
toplam_uzunluk = len(kullanıcı_adı) + len(parola)
mesaj = "Kullanıcı adı ve parolanız toplam {} karakterden oluşuyor!"
print(mesaj.format(toplam_uzunluk))
if toplam_uzunluk > 40:
    print("Kullanıcı adınız ile parolanızın""toplam uzunluğu 40 karakteri geçmemeli!")
else:
    print("Sisteme hoşgeldiniz!")

   
SyntaxError: multiple statements found while compiling a single statement
       
Her örnekte aynı hatayı alıyorum. Sorun galiba UTF ile ilgili ama         
# -*- coding: utf-8 -*-[code]  

komudunu girince de hiçbir şey değişmiyor. Nasıl çözebilirim?

yazilimci_adam

Bu hata ile karşılaştığınızda IDLE ile mi çalışıyordunuz acaba? Çünkü kodunuzda bir hata yok. Çalışır yani. Henüz denemedim ama çalışmalı.

ekremsenturk

#2
Değişken isimlerinde Türkçe karakter kullanma.

Bu şekilde düzgün çalışır: (Python 2.7)
# -*- coding: UTF-8 -*-

isim        = raw_input("isminiz   : ")
cisim       = raw_input("Parolanız : ")
buDaNeBoyle = len(isim) + len(cisim)

print "İsminiz ve parolanızın uznluğu ", buDaNeBoyle, " karakter uzunluğunda."

if buDaNeBoyle > 20:
print "Böyle parola mı olurmuş !"
else:
print "Hoşgeldin be ", isim

bourbaki

#3
Alıntı yapılan: yazilimci_adam - 01 Nisan 2016 - 21:41:21
Bu hata ile karşılaştığınızda IDLE ile mi çalışıyordunuz acaba? Çünkü kodunuzda bir hata yok. Çalışır yani. Henüz denemedim ama çalışmalı.

Atom ile çalışıyordu ama onda da IDLE'da da hata verdi. Kodda sorun yok evet daha önce çalışıyordu.
Alıntı yapılan: ekremsenturk - 01 Nisan 2016 - 23:01:55
Değişken isimlerinde Türkçe karakter kullanma.

Bu şekilde düzgün çalışır: (Python 2.7)
# -*- coding: UTF-8 -*-

isim        = raw_input("isminiz   : ")
cisim       = raw_input("Parolanız : ")
buDaNeBoyle = len(isim) + len(cisim)

print "İsminiz ve parolanızın uznluğu ", buDaNeBoyle, " karakter uzunluğunda."

if buDaNeBoyle > 20:
print "Böyle parola mı olurmuş !"
else:
print "Hoşgeldin be ", isim

Hocam python3 kullanıyorum ama daha önce olmuyordu bu sorun 1-2 ay öncesine kadar
Ekteki gibi hatayı alıyorum.

[eklenti yönetici tarafından silindi]

ekremsenturk

Hata bildirisinde kodlama hatası anlamına gelen bir bildiri var. Bu "{}" kısımdan kaynaklı olabilir. Yakın zamanda Python3 ile ilgili bir güncelleme olduysa, Python3'te genel kullanıcı eğilimleri dikkate alınarak bir düzeltme yapılmış olabilir. Hatanın gerçek nedenini bulabilmek için satırları ilk sıradan başlayarak tek tek denemelisin. Bunu İdle'in debug modunda veya kendin el ile ayrı bir dosyaya sırasıyla ekleyerek yapabilirsin. Bende Python3 kurulu değil, deneyemiyorum.

bourbaki

Alıntı yapılan: ekremsenturk - 02 Nisan 2016 - 17:23:13
Hata bildirisinde kodlama hatası anlamına gelen bir bildiri var. Bu "{}" kısımdan kaynaklı olabilir. Yakın zamanda Python3 ile ilgili bir güncelleme olduysa, Python3'te genel kullanıcı eğilimleri dikkate alınarak bir düzeltme yapılmış olabilir. Hatanın gerçek nedenini bulabilmek için satırları ilk sıradan başlayarak tek tek denemelisin. Bunu İdle'in debug modunda veya kendin el ile ayrı bir dosyaya sırasıyla ekleyerek yapabilirsin. Bende Python3 kurulu değil, deneyemiyorum.

Hata hep parola = input("Parola belirleyin: ") kısmını yazınca oluşuyor ilk satırda herhangi bir hata bulmuyor. ikinci değişkeni belirttiğim an hatayı veriyor diğer hiçbir şeyde problem çıkmıyor. Zaten verdiği mesaj da bunu söylüyor ama ben bu kodu daha önce yazdığımda hiçbir sorun çıkmıyordu ayrıca diğer değişkenleri tanımlamadan örneği de tamamlayamam.

ekremsenturk

O satırda aldığın hatayı buraya kopyala.

betseg

SyntaxError: multiple statements found while compiling a single statement
Hata bu galiba.

@ubuntugecicem, alıntı yapmaya çalışırken yanlışlıkla iletini düzenlemişim. Bir yanlışlık yapmissam bakarsın.

bourbaki

Alıntı yapılan: betseg - 02 Nisan 2016 - 21:57:31
SyntaxError: multiple statements found while compiling a single statement
Hata bu galiba.

@ubuntugecicem, alıntı yapmaya çalışırken yanlışlıkla iletini düzenlemişim. Bir yanlışlık yapmissam bakarsın.
Evet hata o. Sorun değil düzeltirim.  ;D

ekremsenturk

Kullandığın Editörün ayarlarından kodlama desteğini "utf-8" olarak değiştir.
İdle için: ( Ben de İngilizce )
"Option/General/Default Search Encoding"   Burada "UTF-8"i işaretle ve onayla.
Bundan sonra ifadelerde Türkçe karakterler çalışıyor olmalılar.
Örneğini Türkçe karakterleri düzelterek web üzerinde çalışan bir Python3 yorumlayıcısında denedim ve çalışıyor

bourbaki

Alıntı yapılan: ekremsenturk - 02 Nisan 2016 - 22:59:15
Kullandığın Editörün ayarlarından kodlama desteğini "utf-8" olarak değiştir.
İdle için: ( Ben de İngilizce )
"Option/General/Default Search Encoding"   Burada "UTF-8"i işaretle ve onayla.
Bundan sonra ifadelerde Türkçe karakterler çalışıyor olmalılar.
Örneğini Türkçe karakterleri düzelterek web üzerinde çalışan bir Python3 yorumlayıcısında denedim ve çalışıyor
IDLE'da öyle bir seçenek yok Options/General bölümüne kadar geliyorum ama Default Search Encoding diye bir seçenek yok.
Bu arada atom editor'un de kodlama desteği utf-8'di.

heartsmagic

Aldığın hata normal, python uçbiriminde topluca ifade ekleyemezsin. Orada tüm satırları tek tek, girintilere de dikkat ederek girmen lazım. Bunun yerine oluştur bir dosya:

python3 falanca_dosya

diye çalıştır. Sorun olmadığını göreceksin, bende çalışıyor yazdığın şey.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

bourbaki

#12
Alıntı yapılan: heartsmagic - 03 Nisan 2016 - 13:47:33
Aldığın hata normal, python uçbiriminde topluca ifade ekleyemezsin. Orada tüm satırları tek tek, girintilere de dikkat ederek girmen lazım. Bunun yerine oluştur bir dosya:

python3 falanca_dosya

diye çalıştır. Sorun olmadığını göreceksin, bende çalışıyor yazdığın şey.
Dediğiniz şey işe yaradı çok teşekkürler ama sadece IDLE'da işe yaradı atom editor'da nasıl çözebilirim orada aynı hatayı veriyor.Geany'de de devam ediyor.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
kullanici_adi = input("Kullanıcı adınız: ")
parola= input("Parolanız: ")
toplam_uzunluk = len(kullanici_adi) + len(parola)
mesaj = ("Kullanıcı adı ve parolanız toplam {} karakterden oluşuyor!")
print(mesaj.format(toplam_uzunluk))
if toplam_uzunluk > 40:
    print("Kullanıcı adınız ile parolanızın""toplam uzunluğu 40 karakteri geçmemeli!")
else:
    print("Sisteme hoşgeldiniz!")

isim = input("İsminiz nedir? ")
soyisim = input("Soyisminiz nedir? ")

if len(isim) + len(soyisim) > 40:
    print("Kayıt olamazsınız!! ")

else:
    print("Kayıt oldunuz.")

input()

Şu an bu örneği kullanıyorum ve Geany'de derlediğimde çalışıyor yani terminalden bulunduğu dizine gidip çalıştırdığımda çalışıyor, IDLE'da çalışıyor. Ama Atom editor'da hiçbir şekilde çalıştıramıyorum örneği.

heartsmagic

Atom'u kullanmadığım için bir şey diyemiyorum, fakat aynı hatayı veriyorsa bir şekilde yanlış bir şeyler yapıyorsundur muhtemelen. Zira düzenleyicilerin, IDE'lerin amacı zaten dosya üzerinde çalışmak. Aynı hatayı alıyorsan sen Python uçbirime gönderiyordur doğrudan o kod blokunu, haliyle o da hata veriyordur.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.