Evet fark ettim.Aynı harfler tekrar edildiğinden aynı harfi bir kere sayıyor.
Bir bakayım buna da.Teşekkürler ama uygunkarakterler değişkenine büyük harfleri yazmadan önce istediğim şekilde çalışıyordu. Büyük harf ekleyince niye bozulmuş olabilir?
Hocam kodu fotoğraf olarak paylaşmak yerine [CODE title="kod"]kod örnek[/CODE] şeklinde paylaşırsanız hatanın sebebini söyleyebilirim.Merhaba. Normalde TXT dosyasının adını büyük ya da küçük harfle denediğim vakit hata vermemesi lazımdı. Nerede hata yaptığıma dair yardımcı olabilir misiniz?
Eki Görüntüle 1293960
Eki Görüntüle 1293959
import getpass
import sys
import datetime
while True:
try:
dosya = input("\"txt\" dosyasının adını giriniz: ")
uygunkarakterler = "abcçdefghıijklmnoöprsştuüvyz1234567890_+-ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ "
if len(dosya) > 110:
sys.stderr.write("Dosya adı çok uzun.\n")
elif not uygunkarakterler in dosya:
sys.stderr.write("Dosya adında uygunsuz karakter bulunuyor.\n")
except Exception as hata:
hatakaydi = open('hatakaydi.log','a')
zaman = datetime.datetime.now()
kullanici = getpass.getuser()
hatakaydi.write("[{}][{}] {}\n".format(kullanici,zaman,hata))
hatakaydi.close()
sys.stderr.write("Makinede \"{}\" adlı hata oluştu.".format(hata))
break
9. sınıfım. Şimdilik ileri düzey Python öğrenmeye çalıştığım yok. Ama gelecekte mümkün olursa yazılım mühendisliği düşünüyorum.Aga kaçıncı sınıfsın bilişim okuyorum ileri düzey değilse belki anlarım
Hocam hatanızı buldum. Açıklayacağım şimdi. Değişkeninizin içeriği.
abcçdefghıijklmnoöprsştuüvYZ1234567890_+-abcçdefgğhıijklmnoöprsştuüvyz bu. Bunun direkt içerisinde olmasını istiyorsunuz. Yani ben kullanıcı olarak inputa.
AbcçdefghıijklmnoöprsştuüvYZ1234567890_+-abcçdefgğhıijklmnoöprsştuüvyz apıdsjdsfoadsjpsdfous
Yazarsam hata vermez. Siz mahmut yazıyorsunuz. O
AbcçdefghıijklmnoöprsştuüvYZ1234567890_+-abcçdefgğhıijklmnoöprsştuüvyz bunu arıyor.
Bunun için for kullanıp değişkenin içindeki her harfi döndüren bir değişken atayıp o değişken inputun içinde var mı diye kontrol ettirmeniz gerekiyor.
Aynı harfler tekrar edildiğinden aynı harfi bir kere sayıyor.[CODE title="Bu şekilde olabilir."]import getpass
import sys
import datetime
while True:
try:
dosya = input("\"txt\" dosyasının adını giriniz: ")
uygunkarakterler = "abcçdefghıijklmnoöprsştuüvyz1234567890_+-ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ "
if len(dosya) > 110:
sys.stderr.write("Dosya adı çok uzun.\n")
cmt = 0
for i in uygunkarakterler:
if i in dosya:
cmt = cmt+1
if (cmt != len(dosya)):
sys.stderr.write("Dosya adında uygunsuz karakter bulunuyor.\n")
except Exception as hata:
hatakaydi = open('hatakaydi.log','a')
zaman = datetime.datetime.now()
kullanici = getpass.getuser()
hatakaydi.write("[{}][{}] {}\n".format(kullanici,zaman,hata))
hatakaydi.close()
sys.stderr.write("Makinede \"{}\" adlı hata oluştu.".format(hata))
break[/CODE]
Sorunu anladım. Editleyip dönüş yapayım.
Evet fark ettim.Aynı harfler tekrar edildiğinden aynı harfi bir kere sayıyor.
Bir bakayım buna da.Teşekkürler ama uygunkarakterler değişkenine büyük harfleri yazmadan önce istediğim şekilde çalışıyordu. Büyük harf ekleyince niye bozulmuş olabilir?
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.