Python kodundaki hata nedir?

Katılım
10 Mayıs 2020
Mesajlar
127
Python:
        print('E-Posta adresi giriniz.')
        Eposta=input("")  
        print('Kullanıcı Adı belirleyin.')
        kullanıcıadı=input("")
        print('Lütfen Şifre giriniz.')
        şifre=input("")
        kod=open("KOD.txt","r+")
        kod.write("")
        sayı=kod.read()
        print(sayı)
        intsayı=int(sayı)
        eksibir=intsayı-1
        stryenisayı=str(eksibir)
        print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!!')
        klncblglr=open("kullanıcıbilgileri.txt","w")
        klncblglr.write('\n')
        klncblglr.write(Eposta+' ')
        klncblglr.write(kullanıcıadı+' ')
        klncblglr.write(şifre)
        kod.write('\n'+stryenisayı)
        kod.close
        klncblglr.close()
Burada program hatasız çalışıyor ama "KOD.txt" dosyasına yeni sayıyı yazmıyor bunun nedeni nedir ??
 
Son düzenleyen: Moderatör:
Yazmıyor çünkü kod.write("") yazmışsın.
Yine kodun hepsini atmadığın için yanlış görüyorum. Şimdi ben bu koda sayısal bir değer girdiğimde ve dosyayı çalıştırdığımda sorun çıkarmıyor. Kullanıcı bilgileri dosyasına verdiğim bilgileri yazıyor. Kod dosyasında ise başta elle girdiğim sayının bir eksiğini alt satıra yazıyor. Senin istediğin şey ne?
 
Dediğim gibi KOD.txt içinde başta bir sayı yazdım ve bunun bir eksiğini alt satıra yazıyor.
Hala Türkçe karakter kullanıyorsunuz ve metin olan şeyleri tek tırnak ile yazıyorsunuz. Yeni başlayan birisi olarak düzgün alışkanlık edinmenizi tavsiye ederim. Dosyayı açarken de aynı konumda olsa bile tam adresini yazmanızı tavsiye ederim.
 
Ne yapmaya çalıştığını anlamadım. Fakat dosyaya yazmak için bu daha iyi olur:

Python:
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')

kod = open("kod.txt", "w")
kod.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre)


**************

Şimdi oldu sanırım. Bari kodun yanında ne yapmak istiyorsun, onu da belirtseydin. Ayrıca Türkçe karakter ve mümkünse kelime kullanma. İsimlendirmelerin iyi değil. Büyük çapta kodlar yazarken çok zorlanırsın. Ayrıca input, write gibi işlemleri daha kısa kodlarla yapabilirsin. Bu da karmaşayı önler.

Ayrıca dosyayı for döngüsüyle okuyabilir ya da for döngüsüyle satır satır yazabilirsin.

Python:
# Kullanıcı Bilgileri
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')

# Kod dosyasını aç
kodDosyasi = open("kodDosyasi.txt", "r")

# str olarak oku, int'e dönüştür ve işle, tekrar str'a dönüştür
sayıStr=kodDosyasi.read()

sayıInt = int(sayıStr)
yeniSayı = str(sayıInt-1)

# Dosyaya alt alta yaz.
print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!')
kullaniciBilgileri = open("kullaniciBilgileri.txt", "w")
kullaniciBilgileri.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre + '\n' + yeniSayı)

# Dosyaları kapat
kullaniciBilgileri.close()
kodDosyasi.close()
 
Son düzenleme:
Dediğim gibi KOD.txt içinde başta bir sayı yazdım ve bunun bir eksiğini alt satıra yazıyor.
Hala Türkçe karakter kullanıyorsunuz ve metin olan şeyleri tek tırnak ile yazıyorsunuz. Yeni başlayan birisi olarak düzgün alışkanlık edinmenizi tavsiye ederim. Dosyayı açarken de aynı konumda olsa bile tam adresini yazmanızı tavsiye ederim.
Ne yapmaya çalıştığını anlamadım. Fakat dosyaya yazmak için bu daha iyi olur:

Python:
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')

kod = open("kod.txt", "w")
kod.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre)


**************

Şimdi oldu sanırım. Bari kodun yanında ne yapmak istiyorsun, onu da belirtseydin. Ayrıca türkçe karakter ve mümkünse kelime kullanma. İsimlendirmelerin iyi değil. Büyük çapta kodlar yazarken çok zorlanırsın. Ayrıca input, write gibi işlemleri daha kısa kodlarla yapabilirsin. Bu da karmaşayı önler.

Ayrıca dosyayı for döngüsüyle okuyabilir ya da for döngüsüyle satır satır yazabilirsin.

Python:
# Kullanıcı Bilgileri
ePosta = input('E-Posta adresi giriniz: ')
kullaniciAdi = input('Kullanici Adi belirleyin: ')
sifre = input('Lutfen Sifre giriniz: ')

# Kod dosyasını aç
kodDosyasi = open("kodDosyasi.txt", "r")

# str olarak oku, int'e dönüştür ve işle, tekrar str'a dönüştür
sayıStr=kodDosyasi.read()

sayıInt = int(sayıStr)
yeniSayı = str(sayıInt-1)

# Dosyaya alt alta yaz.
print('Bu kodu kaybetmeyeceğiniz bir yerde saklayınız!')
kullaniciBilgileri = open("kullaniciBilgileri.txt", "w")
kullaniciBilgileri.write(ePosta + '\n' + kullaniciAdi + '\n' + sifre + '\n' + yeniSayı)

# Dosyaları kapat
kullaniciBilgileri.close()
kodDosyasi.close()
Size bir şey soracağım mesela şimdi program 9' u okudu ya sonra 8' i yazdı dosyaya bir dahakine çalıştırdığımda 8 i okuyup aynı işlemi yapmasını nasıl sağlarım ??
NOT: Dosyadan ilk sayıyı silmemesi lazım.
 

Geri
Yukarı