尝试通过用户输入创建列表

时间:2019-01-31 19:59:32

标签: python

这是我在这里的第一份工作,因为我使用Python是一个新手,我会感激你的帮助。 我正在尝试使用下面的代码用用户输入创建列表,但是在运行时,它只打印出第一行而不提示输入,什么也没发生! 您能告诉我错误在哪里吗? (编辑)我现在面临的问题是与SublimeText但是当我在线编译器试了一下它的工作就好了!对问题出在哪里有任何想法吗? '

ln = int(raw_input("Enter the lenght of your list :"))
 l = []
 i = 0
 print ("Enter the elements of you list : ") 
 while i < ln :
     list_element = int (raw_input ())
     l.append(list_element)
     i += 1
 print (l)

` 我正在使用python 2.7

3 个答案:

答案 0 :(得分:1)

看着你的榜样,我会说那是因为你的一切ln变量缩进之后。在缩进方面,Python非常严格。 这应该可以解决您的问题。 :)

ln = int(raw_input("Enter the lenght of your list :"))
l = []
i = 0
print ("Enter the elements of you list : ") 
while i < ln :
    list_element = int (raw_input ())
    l.append(list_element)
    i += 1
print (l)

答案 1 :(得分:0)

我尝试了您的代码,它确实起作用了,但是问题中的缩进显示可能是问题所在?不过,也有其他的选择,让用户元素添加到列表中。例如你可以只要求他们的元素:

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(',')]

答案 2 :(得分:0)

Python将给ü错误,如果压痕是不妥当的它的工作原理相同,大括号“{}”中  其他显示内部编码的语言

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())