Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. def problema1 (s):
  2. # @param s: str
  3. # @return: bool
  4.  
  5. #condizione di uscita
  6. if len(s) == 0:
  7. return true
  8. #parte ricorsiva
  9. alphaIndex=cercaAlpha(s)
  10. digitIndex=cercaDigit(s)
  11. if (alphaIndex != -1 and digitIndex != -1): #SE HAI TROVATO ENTRAMBI
  12. #crea una stringa piu' piccola di quella di partenza (tolgo i due caratteri che ho trovato)
  13. if alphaIndex < digitIndex:
  14. s = s[:alphaIndex] + s[alphaIndex+1:digitIndex] + s[digitIndex+1:]
  15. else:
  16. s = s[:digitIndex] + s[digitIndex+1:alphaIndex] + s[alphaIndex+1:]
  17. return problema1(s) #applico la funzione ad una stringa piu' piccola
  18. elif (alphaIndex == -1 and digitIndex == -1): #SE NON HAI TROVATO NESSUNO DEI DUE
  19. return true
  20. else: #SE HAI TROVATO SOLO UNO DEI DUE
  21. return false
  22.  
  23. def cercaAlpha(s):
  24. # @param s: str
  25. # @return: int
  26. for i in range(0,len(s)):
  27. if s[i].isalpha():
  28. return i
  29. return -1
  30.  
  31. def cercaDigit(s):
  32. # @param s: str
  33. # @return: int
  34. for i in range(0,len(s)):
  35. if s[i].isdigit():
  36. return i
  37. return -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement