Attualmente sto lavorando su un rivelatore palindromo (anna, lol, hahah ecc.) E mi viene richiesto di usare for-loops.For-loops in Python 3.0
Desidero che il programma esegua il ciclo di due stringhe (leggerle regolarmente e all'indietro contemporaneamente confrontando i valori). Se i valori sono uguali, il palindromo è True; se no, è Falso.
La mia domanda per voi è: come si ottengono due cicli for per eseguire simultaneamente e confrontare i valori delle stringhe?
Attualmente fare qualcosa di simile: (Python 3.0), può inviare intero codice, se necessario:
palindrom = True
text2 = ("")
for i in nytext:
for i in nytext[::-1]:
text2 = (nytext[::-1] + i)
if text2 == nytext:
palindrom = True
else:
palindrom = False
return palindrom
Grazie per il vostro aiuto!
MODIFICA: Potrei non essere stato abbastanza chiaro quando ho descritto il problema. Il programma esegue questa operazione: Consente all'utente di immettere una stringa di testo (ad esempio ciao il mio nome è lol) e il programma è progettato per verificare se si tratta di un palindromo. È diviso in tre funzioni (e una funzione principale).
La funzione numero 1 corregge il testo in modo da ridurlo in caratteri e solo cifre (quindi LOL ,,,,, diventa lol per facilitare la lettura). La funzione numero 2 è progettata per testare (utilizzando i cicli for-loop (!)) Se l'input è un palindromo. La funzione numero 3 sta semplicemente postando se si tratta di un palindromo oppure no.
ho devo da utilizzare per-loop per questo e non posso semplicemente fare un confronto come ad esempio: backwardtext = text.reverse() se backwardtext == testo: print ("E 'un palindromo")
Spero che questo chiarisca le cose.
So che l'interrogante chiede 'for' loop da utilizzare, ma un miglioramento su questo sarebbe quella di utilizzare le funzioni' 'all' e map' per rimuovere la necessità di un' ciclo for' del tutto. – Will
@Will - La cosa più semplice qui è solo fare 's == s [:: - 1]'. Questo è chiaramente il più pignolo. Tuttavia, il ciclo è indicato come parte del vincolo sul problema. È importante che OP capisca cosa 'zip' fa e come funzioni. Forse questo è parte di ciò che l'incarico sta facendo. Lanciare in una 'map' e un' all' non è di aiuto in questo. :) – mgilson
Questo è chiaramente un compito di programmazione volto a ottenere la conoscenza dei costrutti di looping. Stavo solo cercando di sottolineare che in alcuni casi i loop espliciti possono essere rimossi del tutto attraverso l'uso della mappa/ridurre la programmazione di stile. – Will