Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα.

 

εχω τον εξης κωδικα σε Python:

 

#!/usr/bin/env python
email = raw_input("Please enter your e-mail address: ")
email_list = []
email_list.append(email)
at_symbol_index = email_list.index("@")
email_username = email_list[0:at_symbol_index]
print email_username

 

θελω ο χρηστης να πληκτρολογει ενα email και να βρισκω ποιο ειναι το username του email,δηλαδη πριν το @.

ομως δεν μου λειτουργει,παντα εμφανιζει οτι δεν μπορει να βρει το @ μεσα στην λιστα email_list..

συγκεκριμενα το σφαλμα ειναι ακριβως αυτο:

>ValueError: list.index(x): x not in list

 

καμια ιδεα για το τι παιζει?

 

ευχαριστω!

Δημοσ.

H μέθοδος index υπάρχει σε όλα τα sequences. Τόσο τα strings όσο και οι lists είναι sequences. Εσύ κάνεις το λάθος να ψάχνεις το "@" μέσα στη λίστα που περιέχει τα strings ενώ πρέπει να το ψάχνεις μέσα στο string. Δηλαδή πρέπει να κάνεις 

at_symbol_index = email.index("@")
email_username = email[0:at_symbol_index]
και όχι 
at_symbol_index = email_list.index("@")
email_username = email_list[0:at_symbol_index]

και για να μη ζορίζεσαι με τα at_symbol_index κτλ, υπάρχει και πιο απλός τρόπος. Η μέθοδος split() των string:

email = raw_input("Give your email address: ")
username, provider = email.split("@")
print(username)
Δημοσ.

 

H μέθοδος index υπάρχει σε όλα τα sequences. Τόσο τα strings όσο και οι lists είναι sequences. Εσύ κάνεις το λάθος να ψάχνεις το "@" μέσα στη λίστα που περιέχει τα strings ενώ πρέπει να το ψάχνεις μέσα στο string. Δηλαδή πρέπει να κάνεις 

at_symbol_index = email.index("@")
email_username = email[0:at_symbol_index]
και όχι 
at_symbol_index = email_list.index("@")
email_username = email_list[0:at_symbol_index]

και για να μη ζορίζεσαι με τα at_symbol_index κτλ, υπάρχει και πιο απλός τρόπος. Η μέθοδος split() των string:

email = raw_input("Give your email address: ")
username, provider = email.split("@")
print(username)

εκανα αυτο που μου ειπες και τωρα λειτουργει!

ευχαριστω!

 

επισης,for the record,λειτουργει εξισου σωστα αν δεν περναω το email σε λιστα και απλα ψαξω το index στο string

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...