Forum
  
    >> 
    
      Principianti
    
  
  >>
  
    come mai restituisce "None"
  
  
  
  
  
  
  
   
  
    
    
    
      
      
  
Pagina: 1
  
Esegui il login per scrivere una risposta.
      
  
      
    Pagina: 1
| 
          
Scritto da francescopt  | 
        
          
 2018-01-24 18:08:28 - come mai restituisce "None" 
  
 | 
      
| 
          
          
             Per testare la ricorsione in Python ho riscritto il calcolo del massimo comun divisore. Ma con mia grande sorpresa la funzione scritta per il C++ non dà problemi, mentre in Python risponde "MCD=None". Qualcuno sa dirmi perché?
 
          
          
            
          
          
        Ecco il programma: def mm(a,b): if a==b: return a elif a>b: mm(b,a-b) else: mm(b-a,a) #fine funzioni- Inizio programma principale x=int(input("a=")) y=int(input("b=")) print("MCD=",mm(x,y))  | 
      |
| 
          
Scritto da Aprimus  | 
        
          
 2018-01-24 18:20:25 - Re: come mai restituisce "None" 
  
 | 
      
| 
          
          
             Secondo me perche mancano i return...
 
          
          
            
          
          
        def mm(a, b):
    if a == b:
        return a
    elif a > b:
        return mm(b, a - b)
    else:
        return mm(b - a, a)
 | 
      |
| 
          
Scritto da francescopt  | 
        
          
 2018-01-24 18:22:14 - Re: come mai restituisce "None" 
  
 | 
      
| 
          
          
             Grazie, penso che sia questa la ragione! 
          
          
            
          
          
         | 
      
Pagina: 1
Esegui il login per scrivere una risposta.
  