Python 尝试从用户输入创建列表

Python 尝试从用户输入创建列表,python,Python,这是我第一次在这里发帖,因为我是python的新手,非常感谢您的帮助。 我正试图使用下面的代码创建一个包含用户输入的列表,但运行时只打印出第一行,没有提示输入,其他什么都没有发生! 你能告诉我错误在哪里吗? (编辑)我面临的问题是SublimiteText,但当我用在线编译器尝试它时,它工作得很好!知道问题出在哪里吗? " ln=int(原始输入(“输入列表长度:”) l=[] i=0 打印(“输入列表中的元素:”) 而我

这是我第一次在这里发帖,因为我是python的新手,非常感谢您的帮助。 我正试图使用下面的代码创建一个包含用户输入的列表,但运行时只打印出第一行,没有提示输入,其他什么都没有发生! 你能告诉我错误在哪里吗? (编辑)我面临的问题是SublimiteText,但当我用在线编译器尝试它时,它工作得很好!知道问题出在哪里吗? "

ln=int(原始输入(“输入列表长度:”)
l=[]
i=0
打印(“输入列表中的元素:”)
而我
`
我使用Python2.7查看您的示例,我会说这是因为
ln
变量后面的所有内容都缩进了。Python在缩进方面非常严格。 这将解决您的问题。:)

ln=int(原始输入(“输入列表长度:”)
l=[]
i=0
打印(“输入列表中的元素:”)
而我
我尝试了你的代码,它确实有效,但问题中显示的缩进可能就是问题所在?但是,还有其他方法可以让用户向列表中添加元素。e、 g.你可以向他们索要以下要素:

elements = raw_input('Enter elements, separated by commas ') #i used input() in python3
l = []
temp = elements.split(',')
for item in temp:
    try:
        l.append(int(item))
    except ValueError:
        print(item,'is not an integer - was not added to list')
print(l)
作为旁注,如果假设所有要输入的元素都将始终是整数,则可以执行以下操作:


l=[int(x)for x in elements.split(',')]

如果缩进不正确,Python将给出u错误,它的工作原理与元素中的大括号“{}”相同 显示内部编码的其他语言

elements = raw_input('Enter elements, separated by commas ') #i used input() in 
l = []    # problem is here 
temp = elements.split(',')
for item in temp:
    try:
        l.append(int(item))
    except ValueError:
        print(item,'is not an integer - was not added to list')
print(l)
这个解决方案有很多替代方案,比如输入

# Reads two numbers from input and typecasts them to int using  
# list comprehension 
x, y = [int(x) for x in raw_input().split()]   


它适用于我的cli。您是否收到了一条错误消息?可能是@astmatic的重复项。不,它没有收到任何错误消息,它只是打印了“输入列表长度:”消息,然后什么也没有发生@JacobB我知道还有其他方法,但我只想找出错误在我的代码中的位置,这样我就可以在将来避免这个错误。谢谢你的回答,正如我在上面的编辑中提到的,我在SublimiteText上运行代码时遇到了这个问题,但是当我在在线编译器上尝试时,它工作得很好!知道问题出在哪里吗?
elements = raw_input('Enter elements, separated by commas ') #i used input() in 
l = []    # problem is here 
temp = elements.split(',')
for item in temp:
    try:
        l.append(int(item))
    except ValueError:
        print(item,'is not an integer - was not added to list')
print(l)
# Reads two numbers from input and typecasts them to int using  
# list comprehension 
x, y = [int(x) for x in raw_input().split()]   
# Reads two numbers from input and typecasts them to int using  
# map function 
x, y = map(int, raw_input().split())