仅在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笔记本中)添加了一个请输入一些内容:对用户输入的每个元素的行。50个输入,50行;看起来马虎。我找不到只需多次使用单行才能使用该函数的方法。
您只需要使用映射功能在一行中输入输入,然后将每个数据拆分,然后将其打字以形成映射对象,然后将其传递给列表函数返回这样的变量中的列表:
var = list(map(int,input().split()))
您是否想在每个输入后清除控制台中的文本?然后,您可以在Windows上使用os.system('CLS')
或UNIX系统上的os.system('clear')
:
import os
os.system('CLS')
user_input = ''
while user_input != 'quit':
user_input = input('Input something:')
os.system('CLS') # Clear the console.
# On Unix systems you have to use 'clear' instead of 'CLS'.
# os.system('clear')
另外,我认为您可以使用curses
。