列表理解中的Python3输入在首次使用和回调后不提示用户

时间:2018-02-11 07:31:14

标签: python list-comprehension

我试图在列表推导的帮助下提示用户,提示用户使用特定范围内的raw_input(3)。 然后我将结果分配给一个名为prompt_user的变量,如下所示:

prompt_user = j = [input('Type Here Value') for i in range(3)]
print(prompt_user)

然后我回调我的列表理解以提示用户:

j

但是,它不会提示用户返回并保留以前的值,而不管我是否在其中放置了raw_input? 现在我已经检查了前一个堆栈article但是找不到解决方案,因为我知道列表推导会返回一个列表,但是对于raw_input,我期待python停止运行并提示用户无论怎么回事。相反,它只是第一次使用提示输入,然后完全丢弃它。 我究竟做错了什么? 感谢

2 个答案:

答案 0 :(得分:1)

根据我的理解,您希望提示用户输入和存储它的值。以下解决方案可能有效:

users = []
for _ in range(3):
    user = input('Enter here: ')
    print('Your value:{}'.format(user))
    users.append(user)

输出:

Enter here: one
Your value:one
Enter here: Two
Your value:Two
Enter here: THree
Your value:THree

答案 1 :(得分:0)

@Darkonaut的功劳,需要为其分配一个函数来继续提升并回调函数而不是变量而不管raw_input。