是否可以将输入查询保持为1行(Python 3)

时间:2017-11-25 17:23:28

标签: python python-3.x input user-input

在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线;看起来马虎。我找不到一种方法让函数只使用一行,多次。

2 个答案:

答案 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