ユーザーの電子メールアドレスを入力して、そのアドレスにウェブサイトを印刷しようとしています。
email=input('What is your email address?')
website=email[40:]
print(website)
user, at, domain = email.partition("@")
はユーザーuser
名、at
は @ 記号、domain
はドメイン名です。
@
記号がない場合は、空文字列となりますat
。domain
これをテストしdomain
て、デフォルト値に変更できます。
at, domain = at or "@", domain or "gmail.com"
または、単にエラー メッセージを発行します。
@
記号で1 回分割し、最後の要素を取得します。
website = email.split('@', 1)[-1]
@
これは、入力文字列に符号がない場合でも機能します。
これが最もうまくいくと思います:
out=email.split('@')
try:
print(out[1])
except IndexError:
print('Invalid email address!')
アドレスの形式が正しくない場合、これは爆発します: server = email.split('@')[1]
. で例外をキャッチrescue
し、ユーザーにエラーを報告します。
それは「ウェブサイト」ではなく「サーバー」です。Web サイトは、サーバーに配置できる多くのサービスの 1 つにすぎません。
>>> email=input('What is your email address?')
What is your email address?me@somewhere.com
>>> i = email.index("@")
>>> i
2
>>> email[i+1:]
'somewhere.com'
>>> email.split("@")[1]
'somewhere.com'
>>> email.partition("@")[-1]
'somewhere.com'