Advertisement
Guest User

Problema 5

a guest
Dec 13th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #5) Vi invito a provare a risolvere il problema discusso alla fine della lezione di giovedì: data una lista di interi, determinare #quanti valori diversi contiene.
  2.  
  3. def checkRootList(rootList):
  4. #@param rootList: list,
  5. #@return integer;
  6.  
  7. count = 0
  8. appList = [1]
  9. appList[0] = rootList[0]
  10.  
  11. for i in range(1, len(rootList)):
  12. if appList[0] != rootList[i] and checkAppList(rootList[i], appList):
  13. count += 1
  14. appList.append(rootList[i])
  15.  
  16. if count != 0: #Il contatore deve essere inizializzato a 0, poichè se tutti i numeri della lista risultano essere uguali, il
  17. #il contatore restituirà 0 (0 elementi uguali tra loro)
  18.  
  19. #Se invece esistono numeri diversi nella lista, al valore del contatore va sommato uno. Se la lista fosse composta
  20. #per esempio da 3 numeri diversi tra loro, alla fine dell'esecuzione del ciclo for il valore del contatore sarebbe
  21. #uguale a 2 (cosa sbagliata in quanto, appunto, il contatore viene inizializzato a 0).
  22. count += 1
  23.  
  24. return count
  25.  
  26.  
  27.  
  28. def checkAppList(item, app):
  29. #@param item: elemento della lista;
  30. #@param app: list;
  31. #@return bool;
  32.  
  33. if len(app) != 1:
  34. for j in range(1, len(app)):
  35. if app[j] == item:
  36. return False
  37.  
  38. return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement