Dividere maiuscole e minuscole

s
susannacifani (4000 points)
1 17 51
asked Dec 10, 2020 in HW8 obbligatorio by susannacifani (4,000 points)
Salve, volevo avere un consiglio sul come suddividere ogni istruzione, ossia la concatenazione delle quattro parole maiuscola-minuscola-maiuscola-minuscola. Infatti la mia idea era quella di scorrere ogni riga (ovviamente dopo aver pulito il testo da prendere in esame) e poi salvare le quattro parole in variabili differenti (arrivando a formare 4 stringhe): appunto vorrei formare città, indizio, destinazione e segreto. Il punto è che finché si tratta di salvare maiuscole e minuscole ci sono, ma per dividere le due parole maiuscole (o minuscole) tra loro non saprei bene come muovermi. Mi spiego meglio facendo un esempio:

se io ho ROMAlaPARIGIvendita, riesco a salvare facilmente ROMAPARIGI e lavendita, solo che dovrei dividere queste due parole in quattro. Come posso fare? Grazie in anticipo

2 Answers

Best answer
twgever (15190 points)
7 27 105
answered Dec 10, 2020 by twgever (15,190 points)
selected Dec 10, 2020 by susannacifani
Puoi scorrere lettera per lettera su "ROMAlaPARIGIvendita", e credo sarebbe l'unica maniera per farlo, visto che una volta che hai "ROMAPARIGI", il calcolatore non ha nessuna possibilità di capire dove finisca la prima parola o inizi la prima. Lavora direttamente sull'informazione completa, distinguendo quando ci sta una nuova parola con isupper() o islower().
s
susannacifani (4000 points)
1 17 51
commented Dec 10, 2020 by susannacifani (4,000 points)
Quindi inizio salvandomi tutte le maiuscole, quindi "ROMA", poi se incontra una minuscola fermo e passo alla seconda condizione che dovrei mettere per salvare "la". Il problema è: così facendo poi non mi salva di nuovo tutto insieme "ROMAPARIGI" e "lavendita"?
twgever (15190 points)
7 27 105
commented Dec 10, 2020 by twgever (15,190 points)
se fai i giusti controlli, no. Puoi implementare altre variabili di controllo, che ti dicono se hai già salvato una parola maiuscola e una minuscola, o qualcosa del genere. In tal caso, salvi su un'altra variabile.
s
susannacifani (4000 points)
1 17 51
commented Dec 10, 2020 by susannacifani (4,000 points)
Grazie mille del consiglio :)
1946981 (3070 points)
4 14 34
answered Dec 10, 2020 by 1946981 (3,070 points)
Se, invece di trovarti direttamente separate le due parole maiuscole e le due minuscole, prima le dividi in "ROMAla" e "PARIGIvendita" poi le puoi successivamente dividere di nuovo in due.
s
susannacifani (4000 points)
1 17 51
commented Dec 10, 2020 by susannacifani (4,000 points)
E come posso fare questa divisione? Prendendo tutte le lettere maiuscole, poi tutte le lettere minuscole ma appena incontra di nuovo una maiuscola interrompere il "salvataggio"?
1946981 (3070 points)
4 14 34
commented Dec 10, 2020 by 1946981 (3,070 points)
Devi considerare i punti in cui ci sono una lettera minuscola e una maiuscola vicine come dei punti in cui spezzare la stringa.
s
susannacifani (4000 points)
1 17 51
commented Dec 10, 2020 by susannacifani (4,000 points)
Ah okay, capito, grazie del consiglio