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

Do you need help?

esercizi lezioni2

Light (5130 points)
59 181 229
in Programmare in python by (5.1k points)
ciao a tutti, sto provando a fare l'esercizio che dice :"Scrivere una funzione che prende in input una stringa e la restituisce al contrario (abcd → dcba)" usando solamente il ciclo for. non ho davvero idee su come fare questo esercizio consigli?
965 views
closed

6 Answers

Best answer
a
alex_err (5800 points)
1 3 32
by (5.8k points)
selected by
Crei una stringa vuota (es. output). Ad ogni iterazione del ciclo for sappiamo che alla variabile viene assegnato ogni carattere della stringa originale, per risolvere il tuo problema basta aggiungere ogni lettera in testa alla nuova stringa. In pratica nel for ti basterebbe fare: output = carattere + output.
f
federicoAg (1910 points)
1 7 16
by (1.9k points)
potresti provare creando una nuova stringa vuota e concatenargli in un ciclo, ogni carattere della stringa originaria, partendo dal carattere in ultima posizione fino al primo.
Nevynura (2490 points)
1 4 16
by (2.5k points)
In realtà l'esercizio può essere svolto senza l'ausilio del for, semplicemente stampando la stringa utilizzando[::-1] (vuol dire che stampa partendo dall'ultima lettera anziché dalla prima). In questo modo otterrai la parola al contrario.
Alternativamente puoi fare in modo che in un ciclo for ad ogni lettera venga assegnata una posizione in una lista, e poi con un altro ciclo for stampare suddetta lista al contrario.
a
alessandrobasi (790 points)
2 4 10
by (790 points)
Prima di tutto leggi la stringa e la metti su una variabile, calcoli la sua lunghezza e nel for generi una sequenza da 0 fino alla lungheza della stringa.

Dentro al for metti in una variabile e calcoli il suo complementare, ovvero lunghezza_stringa - contatore_for

In fine stampi/appendi la posizione inversa calcolata alla lista o a un print o a un'altra lista


Spero che vada bene come pseudocodice
Sickboy (28240 points)
8 25 68
by (28.2k points)
Potresti risolvere il problema con un solo ciclo for mettendo dopo la parola "in" la stringa e caricare ogni lettera in una lista e poi banalmente  dopo il ciclo usare la funzione reverse e stampare la lista
alessioclemente (19640 points)
19 67 153
by (19.6k points)
edited by

Un altro modo può essere quello di considerare la stringa come un array di char, andando cosi a chiamare la funzione built in "Reverse", e poi, nel caso, riconvertire in string.