Çözüldü Kodlardaki hata nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

alpersamur3

Hectopat
Katılım
10 Mayıs 2020
Mesajlar
156
1590577217333.png


Python'da yaptığım programda bu hatayı alıyorum. Kodlama işinde yeniyim. Bu hatanın sebebi nedir söyleyebilir misiniz? Nasıl çözebilirim bu hatayı?
Cevaplarsanız sevinirim. Şimdiden teşekkürler.
Kod ;
import time
print("""|------------|
|Hoşgeldiniz!|
|------------|""")
print('Yapmak istediğiniz işlemi seçiniz!!(Giriş yapmak için 1,Kayıt olmak için 2 yazınız.)')
işlem=input("")
if işlem=='1':#buna devam et giriş yap için !!
print('E-posta adresi giriniz !')
epstsoru=input("")
if işlem=='2':
print('Lütfen yaşınızı Giriniz!!')
yaş=int(input(""))
if yaş < 13:
print("Yaşınız bu programı kullanmaya yetmemektedir!")
time.sleep(10)
exit()
kullanıcıadıdosyası=open("kullanıcıadı.txt","a",encoding="utf-8")
epstdosyası=open("eposta.txt","a",encoding="utf-8")
şifredosyası=open("şifre.txt","a",encoding="utf-8")
if yaş>=13:
print("""|----------------------------------|
|Yaşınız Uygun.Kayıt Olabilirsiniz.|
|----------------------------------|""")
print('E-Posta adresi giriniz.')
Eposta=input("")
epstdosyası.write(Eposta\n)
epstdosyası.close()
print('Kullanıcı Adı belirleyin.')
kullanıcıadı=input("")
kullanıcıadıdosyası.write(kullanıcıadı\n)
kullanıcıadıdosyası.close()
print('Lütfen Şifre giriniz.')
şifre=input("")
şifredosyası.write(şifre\n)
şifredosyası.close()
 
Çözüm
Python:
import time

print("""|------------|
|Hoşgeldiniz!|
|------------|""")

print('Yapmak istediğiniz işlemi seçiniz!!(Giriş yapmak için 1,Kayıt olmak için 2 yazınız.)')

işlem=input("")

if işlem=='1':#buna devam et giriş yap için !!
    print('E-posta adresi giriniz !')
    epstsoru=input("")
if işlem=='2':
    print('Lütfen yaşınızı Giriniz!!')
    yaş=int(input(""))
    if yaş < 13:
        print("Yaşınız bu programı kullanmaya yetmemektedir!")
        time.sleep(10)
        exit()
    kullanıcıadıdosyası=open("kullanıcıadı.txt","a",encoding="utf-8")
    epstdosyası=open("eposta.txt","a",encoding="utf-8")
    şifredosyası=open("şifre.txt","a",encoding="utf-8")
    if yaş>=13:
        print("""|----------------------------------|
        |Yaşınız Uygun.Kayıt Olabilirsiniz.|
        |----------------------------------|""")
        print('E-Posta adresi giriniz.')
        Eposta=input("")
        epstdosyası.write(Eposta + '\n')
        epstdosyası.close()
        print('Kullanıcı Adı belirleyin.')
        kullanıcıadı=input("")
        kullanıcıadıdosyası.write(kullanıcıadı + '\n')
        kullanıcıadıdosyası.close()
        print('Lütfen Şifre giriniz.')
        şifre=input("")
        şifredosyası.write(şifre + '\n')
        şifredosyası.close()
Buyrun kodlarınız. Hatanız \n karakterini yanlış yazmanız. \n karakterinin doğru yazımı "\n" veya '\n' şeklindedir.Örneğin:
Python:
şifredosyası.write(şifre + '\n')
Ayrıca size önerim Pycharm, Spyder gibi IDE'ler kullanmanız ve kodlarınız arasında düzen olacak bir biçimde boşluk olması. Uygulamayı test ederken kullanıcı adı, eposta ve şifre için ayrı ayrı txt belgeleri açtığınızı gördüm. Bunun yerini kullanıcı bilgileri.txt gibi bir metin belgesi açıp kullanıcının bütün bilgilerini oraya girerek kendinize kolaylık sağlayabilirsiniz.

Kodun yazımının kolaylaşması için dosya açma işleminin farklı bir türü:
Python:
with open("kullanıcıadı.txt","a",encoding="utf-8") as file:
    file.write(isim +'\n')
Böyle bir kullanımda söz konusu.
O satırdaki metni tırnak içine almayı dener misin? Genel olarak .write kullandığın tüm satırlarda yap bunu.
Buna ek olarak ekran görüntüsü yerine kodu paylaşman daha iyi olacaktır.
Eli yüzü düzgün bir IDE kullanman da hoş olur. Şu satırdaki kod demek için saymam gerekecek resmen.
 
Eki Görüntüle 574673

Python'da yaptığım programda bu hatayı alıyorum. Kodlama işinde yeniyim. Bu hatanın sebebi nedir söyleyebilir misiniz? Nasıl çözebilirim bu hatayı?
Cevaplarsanız sevinirim. Şimdiden teşekkürler.

Screenshot atmak yerine kodu buraya ekleyebilir misiniz?
 
O satırdaki metni tırnak içine almayı dener misin? Genel olarak .write kullandığın tüm satırlarda yap bunu.
Buna ek olarak ekran görüntüsü yerine kodu paylaşman daha iyi olacaktır.
Eli yüzü düzgün bir IDE kullanman da hoş olur. Şu satırdaki kod demek için saymam gerekecek resmen.
Kodu incelerseniz kullanıcıdan aldığım verileri dosyaya yazmak istiyorum.Eğer tırnak içine alırsam dosyaya her seferinde kullanıcıdan alacağı e-postayı yazmak yerine sadece 'eposta' yazıyor.
Screenshot atmak yerine kodu buraya ekleyebilir misiniz?
ekledim
Screenshot atmak yerine kodu buraya ekleyebilir misiniz?

import time
print("""|------------|
|Hoşgeldiniz!|
|------------|""")
print('Yapmak istediğiniz işlemi seçiniz!!(Giriş yapmak için 1,Kayıt olmak için 2 yazınız.)')
işlem=input("")
if işlem=='1':#buna devam et giriş yap için !!
print('E-posta adresi giriniz !')
epstsoru=input("")
if işlem=='2':
print('Lütfen yaşınızı Giriniz!!')
yaş=int(input(""))
if yaş < 13:
print("Yaşınız bu programı kullanmaya yetmemektedir!")
time.sleep(10)
exit()
kullanıcıadıdosyası=open("kullanıcıadı.txt","a",encoding="utf-8")
epstdosyası=open("eposta.txt","a",encoding="utf-8")
şifredosyası=open("şifre.txt","a",encoding="utf-8")
if yaş>=13:
print("""|----------------------------------|
|Yaşınız Uygun.Kayıt Olabilirsiniz.|
|----------------------------------|""")
print('E-Posta adresi giriniz.')
Eposta=input("")
epstdosyası.write(Eposta\n)
epstdosyası.close()
print('Kullanıcı Adı belirleyin.')
kullanıcıadı=input("")
kullanıcıadıdosyası.write(kullanıcıadı\n)
kullanıcıadıdosyası.close()
print('Lütfen Şifre giriniz.')
şifre=input("")
şifredosyası.write(şifre\n)
şifredosyası.close()
 
Son düzenleme:
Python:
import time

print("""|------------|
|Hoşgeldiniz!|
|------------|""")

print('Yapmak istediğiniz işlemi seçiniz!!(Giriş yapmak için 1,Kayıt olmak için 2 yazınız.)')

işlem=input("")

if işlem=='1':#buna devam et giriş yap için !!
    print('E-posta adresi giriniz !')
    epstsoru=input("")
if işlem=='2':
    print('Lütfen yaşınızı Giriniz!!')
    yaş=int(input(""))
    if yaş < 13:
        print("Yaşınız bu programı kullanmaya yetmemektedir!")
        time.sleep(10)
        exit()
    kullanıcıadıdosyası=open("kullanıcıadı.txt","a",encoding="utf-8")
    epstdosyası=open("eposta.txt","a",encoding="utf-8")
    şifredosyası=open("şifre.txt","a",encoding="utf-8")
    if yaş>=13:
        print("""|----------------------------------|
        |Yaşınız Uygun.Kayıt Olabilirsiniz.|
        |----------------------------------|""")
        print('E-Posta adresi giriniz.')
        Eposta=input("")
        epstdosyası.write(Eposta + '\n')
        epstdosyası.close()
        print('Kullanıcı Adı belirleyin.')
        kullanıcıadı=input("")
        kullanıcıadıdosyası.write(kullanıcıadı + '\n')
        kullanıcıadıdosyası.close()
        print('Lütfen Şifre giriniz.')
        şifre=input("")
        şifredosyası.write(şifre + '\n')
        şifredosyası.close()
Buyrun kodlarınız. Hatanız \n karakterini yanlış yazmanız. \n karakterinin doğru yazımı "\n" veya '\n' şeklindedir.Örneğin:
Python:
şifredosyası.write(şifre + '\n')
Ayrıca size önerim Pycharm, Spyder gibi IDE'ler kullanmanız ve kodlarınız arasında düzen olacak bir biçimde boşluk olması. Uygulamayı test ederken kullanıcı adı, eposta ve şifre için ayrı ayrı txt belgeleri açtığınızı gördüm. Bunun yerini kullanıcı bilgileri.txt gibi bir metin belgesi açıp kullanıcının bütün bilgilerini oraya girerek kendinize kolaylık sağlayabilirsiniz.

Kodun yazımının kolaylaşması için dosya açma işleminin farklı bir türü:
Python:
with open("kullanıcıadı.txt","a",encoding="utf-8") as file:
    file.write(isim +'\n')
Böyle bir kullanımda söz konusu.
 
Çözüm
Eğer tırnak içine alırsam dosyaya her seferinde kullanıcıdan alacağı e-postayı yazmak yerine sadece 'eposta' yazıyor.
\n için demek istemiştim. Tırnak içinde olmadığı sürece bir şey ifade etmez.
 
Python:
import time

print("""|------------|
|Hoşgeldiniz!|
|------------|""")

print('Yapmak istediğiniz işlemi seçiniz!!(Giriş yapmak için 1,Kayıt olmak için 2 yazınız.)')

işlem=input("")

if işlem=='1':#buna devam et giriş yap için !!
print('E-posta adresi giriniz !')
epstsoru=input("")
if işlem=='2':
print('Lütfen yaşınızı Giriniz!!')
yaş=int(input(""))
if yaş < 13:
print("Yaşınız bu programı kullanmaya yetmemektedir!")
time.sleep(10)
exit()
kullanıcıadıdosyası=open("kullanıcıadı.txt","a",encoding="utf-8")
epstdosyası=open("eposta.txt","a",encoding="utf-8")
şifredosyası=open("şifre.txt","a",encoding="utf-8")
if yaş>=13:
print("""|----------------------------------|
|Yaşınız Uygun.Kayıt Olabilirsiniz.|
|----------------------------------|""")
print('E-Posta adresi giriniz.')
Eposta=input("")
epstdosyası.write(Eposta + '\n')
epstdosyası.close()
print('Kullanıcı Adı belirleyin.')
kullanıcıadı=input("")
kullanıcıadıdosyası.write(kullanıcıadı + '\n')
kullanıcıadıdosyası.close()
print('Lütfen Şifre giriniz.')
şifre=input("")
şifredosyası.write(şifre + '\n')
şifredosyası.close()
Buyrun kodlarınız. Hatanız \n karakterini yanlış yazmanız. \N karakterinin doğru yazımı "\n" veya '\n' şeklindedir. Örneğin:
Python:
şifredosyası.write(şifre + '\n')
Ayrıca size önerim Pycharm, Spyder gibi IDE'ler kullanmanız ve kodlarınız arasında düzen olacak bir biçimde boşluk olması. Uygulamayı test ederken kullanıcı adı, eposta ve şifre için ayrı ayrı TXT belgeleri açtığınızı gördüm. Bunun yerini kullanıcı bilgileri.txt gibi bir metin belgesi açıp kullanıcının bütün bilgilerini oraya girerek kendinize kolaylık sağlayabilirsiniz.

\N için demek istemiştim. Tırnak içinde olmadığı sürece bir şey ifade etmez.

Cevap veren arkadaşlara teşekkür ederim yardımcı olduğunuz için sorun çözüldü.
 
Bu bir konu soru olarak açmadım.
@157134
bir şey soracağım acaba dosyaya program kullanıcıdan aldığı verileri yazarken arasına boşluk koymasını nasıl sağlayabilirim bu kodda;
klncblglr.write(yaş+kullanıcıadı+Eposta+şifre+'\n')
Aralarında boşluk bırakmak için iki tırnak açıp içine bir boşluk koyabilirsiniz. Örneğin:
Python:
klncblglr.write(yaş+" "+kullanıcıadı+" "+Eposta+" "+şifre+'\n')
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı