首页 > 解决方案 > 如何打印通过输入给出的列表中的项目?

问题描述

我有一个保存用户输入的变量。如果用户输入一个列表,例如["oranges","apples","pears"]python 似乎将其作为一个字符串,并打印每个字符,而不是每个单词,如果fruit 只是一个列表,则代码将打印该代码。我如何编写代码来做到这一点?这是我尝试过的...

fruit = input("What is your favourite fruit?")
fruit = list(fruit)
for i in fruit:
  print(i)

标签: pythonstringlistfor-loopinput

解决方案


python将输入作为一个巨大的字符串,所以它不是一个列表,它只是一个像这样的字符串

'["oranges","apples","pears"]'

把它变成一个列表看起来就像

['[', '"', 'o', 'r', 'a', 'n', 'g', 'e', 's', '"', ',', '"', 'a', 'p', 'p', 'l', 'e', 's', '"', ',', '"', 'p', 'e', 'a', 'r', 's', '"', ']']

而不是这个尝试像这样的东西,它要求最喜欢的水果,直到你不输入水果

Fruits = []
while True:
    temp = input()
    if temp == "":
        break
    else:
        Fruits.append(temp)

然后输出值

for x in Fruits:
    print(x)

推荐阅读