Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def problema1 (s):
- # @param s: str
- # @return: bool
- #condizione di uscita
- if len(s) == 0:
- return true
- #parte ricorsiva
- alphaIndex=cercaAlpha(s)
- digitIndex=cercaDigit(s)
- if (alphaIndex != -1 and digitIndex != -1): #SE HAI TROVATO ENTRAMBI
- #crea una stringa piu' piccola di quella di partenza (tolgo i due caratteri che ho trovato)
- if alphaIndex < digitIndex:
- s = s[:alphaIndex] + s[alphaIndex+1:digitIndex] + s[digitIndex+1:]
- else:
- s = s[:digitIndex] + s[digitIndex+1:alphaIndex] + s[alphaIndex+1:]
- return problema1(s) #applico la funzione ad una stringa piu' piccola
- elif (alphaIndex == -1 and digitIndex == -1): #SE NON HAI TROVATO NESSUNO DEI DUE
- return true
- else: #SE HAI TROVATO SOLO UNO DEI DUE
- return false
- def cercaAlpha(s):
- # @param s: str
- # @return: int
- for i in range(0,len(s)):
- if s[i].isalpha():
- return i
- return -1
- def cercaDigit(s):
- # @param s: str
- # @return: int
- for i in range(0,len(s)):
- if s[i].isdigit():
- return i
- return -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement