在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中)为用户输入的每个元素添加了一些Please输入:line。 50输入,50线;看起来马虎。我找不到一种方法让函数只使用一行,多次。
答案 0 :(得分:0)
你只需要使用map函数在一行中获取输入然后拆分每个数据,然后对其进行类型转换以形成一个map对象,然后将其传递给list函数,该函数将返回变量中的列表,如下所示:
var = list(map(int,input().split()))
答案 1 :(得分:0)
您想在每次输入后清除控制台中的文本吗?然后你可以在Windows上使用//Removes links
add_filter( 'woocommerce_product_is_visible','product_invisible');
function product_invisible(){
return false;
}
//Remove single page
add_filter( 'woocommerce_register_post_type_product','hide_product_page',12,1);
function hide_product_page($args){
$args["publicly_queryable"]=false;
$args["public"]=false;
return $args;
}
或在Unix系统上使用os.system('CLS')
:
os.system('clear')
或者,我认为您可以使用curses
。