Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Dividere maiuscole e minuscole

s
susannacifani (4000 points)
2 21 53
in HW8 obbligatorio by (4.0k 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 (17470 points)
8 29 105
by (17.5k points)
selected by
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)
2 21 53
by (4.0k 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 (17470 points)
8 29 105
by (17.5k 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)
2 21 53
by (4.0k points)
Grazie mille del consiglio :)
1946981 (3070 points)
5 15 35
by (3.1k 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)
2 21 53
by (4.0k 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)
5 15 35
by (3.1k 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)
2 21 53
by (4.0k points)
Ah okay, capito, grazie del consiglio