1-a arasındaki, haneleri(rakamları) toplamı tek olan tamsayıların listesini alt alta txt dosyasına yazan programı yazın. Buradaki a değeri kullanıcı tarafından alınan en fazla 2 basamaklı tamsayıdır.
Örnek:
Klavyeden girilen a sayısı = 67 olsun.
1 = 1 tek sayı olduğu için dosyaya yazılır.
2 = 2 çift sayı olduğu için dosyaya yazılmaz.
….
10 = 1 tek sayı olduğu için dosyaya yazılır.
11 = 2 çift sayı olduğu için dosyaya yazılmaz.
…
20 = 2 çift sayı olduğu için dosyaya yazılmaz.
21 = 3 tek sayı olduğu için dosyaya yazılır.
sevgili hocalarım kardeşlerim abilerim bu şekilde bir ödevim var online eğitimde kaydedilmemiş dersi izleyemedim de 20lik diş ağrısı yüzünden bir yardım ederseniz çok mutlu olurum tek bu kaldı puan kırılsın istemiyorum ödevden
sayi = input("İki basamaklı bir sayı giriniz: ")
while not len(sayi) < 3 or not sayi.isnumeric():
sayi = input("İki basamaklı bir sayı giriniz: ")
with open("sonuc.txt", "w") as dosya:
for i in range(int(sayi)):
if sum(int(j) for j in str(i)) % 2 != 0:
dosya.write(f"{i}\n")
def sayı(a):
if len(str(a)) == 2:
b = str(a)
topla = int(b[0]) + int(b[1])
if topla != (0,2,4,6,8,10,12,14,16,18,20):
print("done")
dosya = open("Ödev.txt","a")
dosya.write(str(topla)+"\n")
else:
print("Bu sayının rakamları toplamı 2")
else:
topla = a
if topla != (0,2,4,6,8,10,12,14,16,18,20):
print("done")
dosya = open("Ödev.txt","a")
dosya.write(str(topla)+"\n")
else:
print("Bu sayının rakamları toplamı 2")
a = int(input("Lütfen Bir ya da iki basamaklı bir sayı giriniz:"))
if len(str(a)) == 3:
print("Bu sayı 3 basamaklı")
else:
sayı(a)
Kullanıcı girişini kontrol etmekte ve dosyayı kapatmakta fayda var:
with open(".txt", "w") as f:
(lambda x: f.writelines("\n".join(str(i) for i in range(1, int(x)) if sum(map(int, str(i)))%2)) if len(x) < 3 and x.isnumeric() else print("Giriş en fazla iki basamaklı bir tam sayı olmalıdır."))(input())