Ωραία, πολύ καλύτερα με format.
Θυμάσαι οτι το indentation έχει σημασία στην python, εδώ το function user σου εξυπηρετεί το /user/<name> route οπότε το return πρέπει να είναι ενα tab πιο μεσα για να εμπίπτει μεσα στην user().
ορίζεις την replace_all αλλά δεν την καλείς πουθενά, μοιάζει σαν να ήθελες στο τέλος να γράψεις κάτι του τύπου
return "<h1> User: {}</h1>".format(replace_all(name)). Αυτό θα σου καλούσε την replace_all για να κάνεις το replace.Αν σε μπερδεύει που ειναι ολο σε μια γραμμή το παραπάνω είναι ουσιαστικά ισοδύναμο με:
Python:
replaced_name = replace_all(name)
HTML_to_return = "<h1> User: {}</h1>".format(replaced_name)
return HTML_to_return
H ίδια η replace_all δεν κάνει καμία αλλαγή στις παραμέτρους της (
λέω ψέμματα, αλλά υπέθεσε οτι δε κανει για τωρα) και ο πιο απλός τρόπος ειναι να κανεις return το αλλαγμένο όνομα στο τέλος του κώδικα προσθέτοντας το
return name. Από εκει και πέρα θα μπορεις να γυρίσεις την τιμη της κανοντας
name = replace_all(name)
Τέλος όπως αναφέρω πιο πανω, δεν χρειάζεται να κάνεις λούπα για κάθε a που αντικαθιστάς.
άρα έχουμε μια replace_all που είναι καπως έτσι:
Python:
def replace_all(name):
name = name.lower()
name = name.replace("a","e")
return name
Την οποία πρέπει να καλέσεις στο τέλος και το αποτέλεσμά της να κάνεις return.
Δες το άλλη μία και μη φοβηθείς να βαλεις prints όπου μπερδεύεις τι κανει. Είναι μέχρι να σου κανει click μετά είναι εύκολο