问题描述
脚本应该创建一个字符串元素列表,这些元素是通过用户输入的人名,如果他们在 vip 列表中,则向他们打招呼。我尝试在名称列表和贵宾列表之间创建一个包含重复元素的列表,以便将新列表存储在变量 temp
中,以便可以打印出问候语。但是没有用。
我的尝试: #!/usr/bin/python3
mylist = input("Enter list of names separated by comma: ").split(",")
vip = ['Tom','Howard','Alice','Peter','Maria']
temp = [x for x in vip if x in mylist]
print([f"Hello {myvar}!" for myvar in temp])
用户输入 'Alice,Robert,Maria,Peter,Jen'
的当前行为:
['Hello Alice!']
预期行为:
['Hello Alice!','Hello Maria!','Hello Peter!']
解决方法
跟进 Mark M 的评论:
mylist = [x.strip() for x in input("Enter list of names separated by comma: ").split(",")]
,
您只需对代码进行少量更改。一种是 split(",")。 另一个是列表理解。
mylist = input("Enter list of names separated by comma: ").split(",")
vip = ['Tom','Howard','Alice','Peter','Maria']
temp = [name for name in mylist if name in vip]
print([f"Hello {myvar}!" for myvar in temp])
给予
['Hello Alice!','Hello Maria!','Hello Peter!']
谢谢。