Python 如何从while循环的输入中获取信息?

Python 如何从while循环的输入中获取信息?,python,input,while-loop,Python,Input,While Loop,我的解释很糟糕,所以我要举例说明我的意思 s=5 while s >= 3: name= input("What is the name of your dog") s = s-1 这不是最好的一段代码,但假设我想向用户询问一段信息,他们将输入3次不同的时间,那么我如何从while循环中取出所有这3个值,以便它们不会被覆盖?如果我不清楚,请告诉我,我将尝试更好地解释自己您可以在while循环开始之前创建一个列表,并在每次循环运行时附加一个条目: s=5 names = [

我的解释很糟糕,所以我要举例说明我的意思

s=5
while s >= 3:
    name= input("What is the name of your dog")
    s = s-1

这不是最好的一段代码,但假设我想向用户询问一段信息,他们将输入3次不同的时间,那么我如何从while循环中取出所有这3个值,以便它们不会被覆盖?如果我不清楚,请告诉我,我将尝试更好地解释自己

您可以在while循环开始之前创建一个列表,并在每次循环运行时附加一个条目:

s=5
names = []
while s >= 3:
    name= input("What is the name of your dog")
    names.append(name)
    s = s-1
使用发电机:

names = [input("What is the name of your dog") for i in range(3)]
print(names)
使用列表:

names = []

s = 5
while s >= 3:
    name = input("What is the name of your dog")
    names.append(name)
    s = s - 1
使用收益率:

def names():
    s = 5
    while s >= 3:
        yield input("What is the name of your dog")
        s = s - 1

for name in names():
    print(name)

# or

print(list(names()))
为您的任务提供不同的解决方案:

names = input('write all the names: ').split()
print(names)
使用列表

s=5
name = []
while s >= 3:
    name.append(input("What is the name of your dog"))
    s -= 1

您需要使用一个列表,在其中可以附加名称

names = list()
s=5
while s >= 3:
    names.append(input("What is the name of your dog"))
    s = s-1

print names[0]
print names[1]
print names[2]

使用一个
列表
来存储输入,将其包装在一个函数中,每次都“屈服”,同时感谢一堆快速响应。尽管海报显然是初学者,但我确实想知道将其介绍给生成器是否是最好的主意。对于这样一个小循环,内存使用将不会是一个问题,因此列表创建似乎很好。对不起,上一个问题后面的另一个快速问题我想知道是否可以让打印更改其在列表上打印的内容的值,例如,因为我不知道如何格式化这里是代码的屏幕截图[链接]{)“code”您可以使用
lst[-1]
访问最后一个元素,其中
lst
是变量的名称。请阅读。第二个
while
应该是
,如果
我猜它给我的是原始输入,那么defined@rauf543啊,我只是在使用一个旧版本的python。
input
应该可以