我需要将这些名称放入电子邮件中。
例如,我有这些名单:
saint christopher
lebron james
kevin durant
kyrie andrew irving
d j khaled
bloodpop(r)
需要得到结果:
schristo@gmail.com
ljames@gmail.com
kdurant@gmail.com
kairving@gmail.com
djkhaled@gmail.com
bloodpop@gmail.com
我已将它们变成小写并尝试使用split()但不起作用。
我做了:
fname = input("Enter filename:")
infile = open(fname, "r")
for line in infile:
first,last = line.lower().split()
uname = (first[0] + last[:8])
print(uname)
infile.close()
我收到错误消息:
first,last = line.lower().split()
ValueError: too many values to unpack (expected 2)
答案 0 :(得分:2)
你可以使用splat tuple赋值将firsts从最后一个分开,抓取每个firsts
的第一个首字母,然后用最后一个连接它们并切掉前8个字符。
def make_username(name, suffix="gmail.com"):
*firsts, last = name.lower().split()
initials = ''.join([s[0] for s in firsts])
username = ''.join([initials, last])[:8]
return f"{username}@{suffix}"
答案 1 :(得分:-1)
试试这个..
email_name = 'saint christopher'
import string
new_str = string.replace(email_name,' ', '')
print(new_str)
它让你出局: saintchristopher