salam. əslində bir sual vermək istəyirdim. lakin bura yazma ərəfəsində iş belə gətirdi ki, kodu təkmilləşdirə bildim və problem aradan qalxdı; söz yox, bütün kodlar utilizə oluna, daha estetik və daha yaxşı variantda yazıla bilər.
problem, funksiyaya daxil olunan e-poçt arqumentindən (“@” işarəsindən əvvəlki hissəni – şərti olaraq) istifadəçi adını çıxarmaq idi.
ilkin variantlar problemsiz işləsə də, “@”-dan əvvəl “.” (nöqtə) gələndə e-poçtu keçərsiz sayırdı.
sonuncu variantda bu problem həll olundu.
kodu təqdim eləyirəm
1 | import lepl.apps.rfc3696 as leplEmailChecker |
2 | emailChecker = leplEmailChecker.Email() |
4 | def usernameParser(email): |
6 | if emailChecker(email): |
9 | username.append(symbol) |
14 | print "".join(username) |
17 | print "not valid email" |
p.s. qeyd eləmək lazımdı ki, emailChecker funksiyası daxil olunan emailin (potensial) sintaksisini yoxlayır. xxxx@xxx.x tipli arqmentlər də keçərli e-mail adresi kimi sayılır. bunun üzərində baş yormağa, fikirlərinizi dinləməyə dəyər -))
Verilmiş cavablar və yazılan şərhlər (1 cavab var)
2
Bu formada da yaza bilərsiz
1
from email.utils import parseaddr
2
3
def usernameParser(email):
4
return parseaddr(email)[1].split("@")[0]
5
6
#Test function below
7
print(usernameParser("test@example.com"))
8
#Output: test
Sual verin
Cavab verin