【发布时间】:2017-11-25 17:23:27
【问题描述】:
刚刚学习 Python 3,做函数构建。我有一组函数,它们从用户那里获取多个元素并输出独特的元素。我想知道我是否可以改善程序的外观,因为如果有大量输入它们链接在一起,一个接一个,每个都在一个新的行上。理想情况下,每次用户点击输入时,输入行都会获取元素,并且同一行会重置下一个值。
这是我所拥有的:
userlist = []
uniquelist = []
def make_list(list): #function to assign only unique list values
for u in userlist:
if u not in uniquelist: #only append element if it already appears
uniquelist.append(u)
else:
pass
print("The unique elements in the list you provided are:", uniquelist)
def get_list(): #get list elements from user
i = 0
while 1:
i += 1 #start loop in get values from user
value = input("Please input some things: ")
if value == "": #exit inputs if user just presses enter
break
userlist.append(value) #add each input to the list
make_list(userlist)
get_list()
输出(在 Jupyter Notebook 中)添加了请输入一些内容:用户输入的每个元素的行。 50 个输入,50 条线路;看起来邋遢。我找不到让该函数多次使用单行的方法。
【问题讨论】:
-
省略提示即可。您可以使用
iter函数将while循环替换为for value in iter(input, ""): userlist.append(value),或者简单地使用userlist = list(iter(input, ""))
标签: python python-3.x input user-input