2 回答

TA貢獻1877條經驗 獲得超1個贊
你想要一些類似的東西:
if (len(s_name) == 2 and first_name == line[0] and last_name == line[1]) or (len(s_name) == 1 and last_name == line[1]):
print(line[0].capitalize(), line[1].capitalize(), ",", line[2])
如果提供了兩個名稱并且 2 個匹配,或者如果提供了 1 個名稱并且它與姓氏匹配,這將打印該行。值得注意的是,對于 lsit 行中的每個元素,您可能想要進行剝離,以避免由于空格而導致元素無法計算。

TA貢獻2080條經驗 獲得超4個贊
為什么要這么費力去了解姓氏和名字呢?嘗試這個:
while True:
if input("name").lower() in line.lower():
print(line)
編輯
def search(name):
with open('phones.txt','r') as file:
temp=[]
for i in file :
if name in i :
temp.append(i.split())
for i in temp:
i[0]=i[0]+' '+i[1]
i[1]=', '
print(''.join(i))
添加回答
舉報