[Python] odwrócenie kolejności cyfr

ct985
Użytkownik
Użytkownik
Posty: 184
Rejestracja: 13 paź 2011, o 20:36
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 71 razy

[Python] odwrócenie kolejności cyfr

Post autor: ct985 »

Mam problem z napisanie funkcji która odwraca kolejność cyfr w liczbie (ma to być liczba całkowita).
Próbowałam w ten sposób ale niestety nie działa:

Kod: Zaznacz cały

def ile_cyfr(n):
	s=str(n)
	return len(s)
		
def rev_number(n):
	nowa=0
	if n>0:
		for i in range(1,ile_cyfr(n)-1):
			if n>0:
				zm1=n/(10**(ile_cyfr(n)-1))
				nowa+=zm1*(10**(i-1))
				n-=zm1*(10**(ile_cyfr(n)-1))
			return nowa
	return nowa	
Jak napisać taką funkcję rekurencyjnie?
Bardzo proszę o pomoc
pawellogrd
Użytkownik
Użytkownik
Posty: 844
Rejestracja: 19 lis 2009, o 15:03
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 121 razy
Pomógł: 156 razy

[Python] odwrócenie kolejności cyfr

Post autor: pawellogrd »

Wersja iteracyjna:

Kod: Zaznacz cały

def rev_number(n):
    while(n>0):
        rev_n = rev_n*10 + n%10
        n = n/10
    return rev_n
Wersja rekurencyjna:

Kod: Zaznacz cały

def rev_number_rec(n):
    def rev_number_w(num,rev_num):
        if num>0:
            rev_number_w(num/10, rev_num*10+num%10)
        else:
            rev_num
    rev_number_w(num,0)
ODPOWIEDZ