# 1'den girilen sayıya kadar toplama def topla(n): if n==1: return 1 elif n==0: return 0 elif n<0: return n else: return n+topla(n-1) sayi=int(input("Bir sayi girin: ")) print("Toplam sonuc = ",topla(sayi)) # Basamak Sayısı def basamak_sayisi(n,k=0): if n==0: return k else: return basamak_sayisi(n//10,k+1) sayi =int(input("Bir sayi girin: ")) print(sayi, "sayisi", basamak_sayisi(abs(sayi)), "basamaklidir") # Basamak Toplamları def basamak_sayisi_toplam(n): if n<0: n= -n if n<10: return n else: return n%10+basamak_sayisi_toplam(n//10) sayi =int(input("Bir sayi girin: ")) print(sayi, "sayisinin basamaklarinin toplami", basamak_sayisi_toplam(abs(sayi))) # Basamak Toplam Çarpımları def basamak_sayisi_carpim(n,carpim=1): if n<0: n= -n if n==0: return carpim else: son_basamak=n%10 if son_basamak != 0: carpim*=son_basamak return basamak_sayisi_carpim(n//10,carpim) sayi =int(input("Bir sayi girin: ")) print(sayi, "sayisinin basamaklarinin 0'dan farkli carpimi sonucu", basamak_sayisi_carpim(abs(sayi))) # Tek Basamak Toplam Çarpımları def tek_basamak_sayisi_carpim(n,carpim=1): if n<0: n= -n if n==0: return carpim else: son_basamak=n%10 if son_basamak != 0 and son_basamak%2 != 0: carpim*=son_basamak return tek_basamak_sayisi_carpim(n//10,carpim) sayi =int(input("Bir sayi girin: ")) print(sayi, "sayisinin basamaklarinin 0'dan farkli carpimi sonucu", tek_basamak_sayisi_carpim(abs(sayi)))