Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python我通过循环将一个列表附加到另一个列表中。但我想访问各个输入_Python - Fatal编程技术网

Python我通过循环将一个列表附加到另一个列表中。但我想访问各个输入

Python我通过循环将一个列表附加到另一个列表中。但我想访问各个输入,python,Python,我通过循环将一个列表附加到另一个列表中。但是我想访问各个输入,这样我就可以一行一行地打印它们。我正试图做一个汽车的清单,但我希望它看起来整洁 car = [] cars = [] add = "yes" loopcars = 0 loopcar = 0 while(add == "yes"): make = input("Make: \n") model = input("Model: \n") year = input("Year: \n") miles =

我通过循环将一个列表附加到另一个列表中。但是我想访问各个输入,这样我就可以一行一行地打印它们。我正试图做一个汽车的清单,但我希望它看起来整洁

car = []
cars = []
add = "yes"
loopcars = 0
loopcar = 0

while(add == "yes"):
    make = input("Make: \n")
    model = input("Model: \n")
    year = input("Year: \n")
    miles = input("Miles: \n")
    price = input("Max bid: \n")
    car = [make, model, year, miles, price]
    cars.append(car)
    add = input("Add a Vehicle?(yes or no)")

while(loopcars != len(cars)):
    loopcars = loopcars + 1
    while(loopcar != len(cars[loopcar])):
        print (cars[loopcar])
        loopcar = loopcar + 1
这是输出

Make: 
Chevy
Model: 
Impala
Year: 
2005
Miles: 
125000
Max bid: 
3500
Add a Vehicle?(yes or no)yes
Make: 
Ford
Model: 
Escape
Year: 
2010
Miles: 
127000
Max bid: 
4500
Add a Vehicle?(yes or no)no
['Chevy', 'Impala', '2005', '125000', '3500']
['Ford', 'Escape', '2010', '127000', '4500']
我想把它列出来,比如:

Chevy
Impala
2005
125000
3500
etc...

更换第二个while循环

for each in cars:
    for tmp in each:print(tmp)

更换第二个while循环

for each in cars:
    for tmp in each:print(tmp)

您可以在for循环中使用for循环来获取新行上汽车的每个属性

下面是我如何简化代码的

cars = []

while True:
    make = input("Make: \n")
    model = input("Model: \n")
    year = input("Year: \n")
    miles = input("Miles: \n")
    price = input("Max bid: \n")
    cars.append([make, model, year, miles, price])
    cont = input("Another one? yes/no > ")
    if cont == "no":
      break

for car in cars:
  for attribute in car:
    print(attribute)
  print "-------"
例如:

$ python test.py
Make:
Chevy
Model:
Impala
Year:
2005
Miles:
123
Max bid:
3500
Another one? yes/no > yes
Make:
Ford
Model:
Escape
Year:
2010
Miles:
127000
Max bid:
4500
Another one? yes/no > no
Chevy
Impala
2005
123
3500
-------
Ford
Escape
2010
127000
4500

您可以在for循环中使用for循环来获取新行上汽车的每个属性

下面是我如何简化代码的

cars = []

while True:
    make = input("Make: \n")
    model = input("Model: \n")
    year = input("Year: \n")
    miles = input("Miles: \n")
    price = input("Max bid: \n")
    cars.append([make, model, year, miles, price])
    cont = input("Another one? yes/no > ")
    if cont == "no":
      break

for car in cars:
  for attribute in car:
    print(attribute)
  print "-------"
例如:

$ python test.py
Make:
Chevy
Model:
Impala
Year:
2005
Miles:
123
Max bid:
3500
Another one? yes/no > yes
Make:
Ford
Model:
Escape
Year:
2010
Miles:
127000
Max bid:
4500
Another one? yes/no > no
Chevy
Impala
2005
123
3500
-------
Ford
Escape
2010
127000
4500
您可能希望查看for循环(或者python中的迭代)

您可能想看看for循环(或者python中的迭代)

这是非常(糟糕的)类C代码。如第一条注释所述,代码的最后一部分应该用于循环。避免代码中出现的棘手错误非常有用:

while(loopcars != len(cars)):
    loopcars = loopcars + 1
    # loopcars is never used after here
    while(loopcar != len(cars[loopcar])): # SHOULD BE len(cars[loopcars-1])
        print (cars[loopcar]) # SHOULD BE cars[loopcars-1][loopcar] AND NOT cars[loopcar]
        loopcar = loopcar + 1
这里发生了什么

  • cars[loopcar]
    没有意义
  • print(cars[loopcar])
    最好打印属性列表(“car”)而不是属性
现在看看这段代码:

for loopcars in range(len(cars)): # loopcars = 0,1,...len(cars)-1
    car = cars[loopcars]
    for loopcar in range(car): # loopcar = 0,1,...len(car)-1
        print (car[loopcar]) 
它仍然是类似C的(for循环有点不同,但样式是相同的)。这里也比较整洁,虫子也不见了

但您使用的是Python,您可以做得更好:

for car in cars:
    for prop in car:
        print (prop)
现在已经很清楚了。列表中的
for in
循环遍历该列表的元素。您在汽车中穿行,对于每辆汽车,您穿行其属性(并打印每个属性)

我的建议是:有很多好的Python教程,您应该遵循其中的一个。

这是非常(糟糕的)类C代码。如第一条注释所述,代码的最后一部分应该用于循环。避免代码中出现的棘手错误非常有用:

while(loopcars != len(cars)):
    loopcars = loopcars + 1
    # loopcars is never used after here
    while(loopcar != len(cars[loopcar])): # SHOULD BE len(cars[loopcars-1])
        print (cars[loopcar]) # SHOULD BE cars[loopcars-1][loopcar] AND NOT cars[loopcar]
        loopcar = loopcar + 1
这里发生了什么

  • cars[loopcar]
    没有意义
  • print(cars[loopcar])
    最好打印属性列表(“car”)而不是属性
现在看看这段代码:

for loopcars in range(len(cars)): # loopcars = 0,1,...len(cars)-1
    car = cars[loopcars]
    for loopcar in range(car): # loopcar = 0,1,...len(car)-1
        print (car[loopcar]) 
它仍然是类似C的(for循环有点不同,但样式是相同的)。这里也比较整洁,虫子也不见了

但您使用的是Python,您可以做得更好:

for car in cars:
    for prop in car:
        print (prop)
现在已经很清楚了。列表中的
for in
循环遍历该列表的元素。您在汽车中穿行,对于每辆汽车,您穿行其属性(并打印每个属性)


我的建议:有很多很好的Python教程,你应该遵循其中一个。

你真的应该在这里使用for循环。这看起来是一个很好的机会,那么你的列表将是一个汽车列表@达维姆婴儿步。。。在学习如何编写类定义之前,您可能应该先学习基本的控制流和如何使用for循环……您真的应该在这里使用for循环。这看起来是一个很好的机会,那么您的列表将是一个汽车列表@达维姆婴儿步。。。在学习如何编写类定义之前,可能应该先学习基本的控制流和如何使用for循环。。。