2016-03-29 19 views
3

Bir nesneyi sınıf nesnesini tersine çevirecek bir program yazıyorum. Kwargs yazan kurucu oluşturdum. kod bir hata atmak ancak 60 yerine main() ŞimdiPython'da Sınıf Kullanarak Bir Numarayı Ters Çevirme

class Nups: 
    def __init__(self,**kwargs): 
     self._vars = kwargs 
    def rev(self,f): 
     h=0 
     r=self._vars.get(f) 
     print r 
     while r!=0: 
      h=h+(r%10)*10 
      r=r/10 
     return h 

42. ait döner değildir:

def main(): 
    p=Nups(first=24,second=45) 
    print p.rev('first') 

if __name__ == '__main__': 
    main() 

çıkışı:

24 
60 
+0

seni Eğer öyleyse, daha iyi olurdu Python 2. kullandığınız varsayılmaktadır eğer 'Nups', 'nesneden' miras olarak tanımlanırsa, bunun gibi: 'class Nups (object):'. Ayrıca kat bölme operatörünü kullanmalısınız: 'r = r // 10' ya da' r // = 10'. Bu değişikliklerle kodunuz hem Python 2 hem de Python 3 ile uyumlu olacaktır. –

cevap

2

bu

h = h * 10 + (r % 10) 
yapın h eklemeden sonra

yerine

h = h + (r % 10) * 10 

Sizin kod son rakamı alıyordu ve 10 ile çarpılması ve. hem bunu yapabilir Bunun yerine 10 tarafından h çarpın gerekir, ardından h

+0

@ PM2Ring Usulüne uygun olarak not edildi! –

0

için numarasının son rakamı ekleyin:

return eval(str(number)[::-1]) 
İlgili konular