简体   繁体   中英

How to insert a new line after each element in a list? Python

I tried to append some elements to a new list, and I wanted to separate each one by a new line. I tried this:

for i in list_rents:
        result.append("{}: {}\n".format(i, 'Caro' if i > avg else 'Precio razonable'))
    print("El precio promedio de la lista dada es {}, por lo que estas son las comparaciones independientes:\n    {}".format(avg, result))

The last part worked as I expected, but the first one did not, why does that happen, and how can I solve it?

Here's the output:

El precio promedio de la lista dada es 24.166666666666668, por lo que estas son las comparaciones independientes:
    ['21.0: Precio razonable\n', '12.0: Precio razonable\n', '32.0: Caro\n', '23.0: Precio razonable\n', '43.0: Caro\n', '14.0: Precio razonable\n']

And here is the full code:

result = []
ans = input('Quieres agregar un elemento a la lista de precios de rentas? (S) Si,  (N) No.')
while ans == 'S':
    new_value = float(input('Ingrese el valor del nuevo elemento'))
    if new_value > 0: 
        list_rents.append(new_value)
    else:            
        print('Programa terminado, ese es un valor inaceptable')
        sys.exit()
    ans = input('Quieres agregar un elemento a la lista de precios de rentas? (S) Si,  (N) No.')
avg = sum(list_rents)/len(list_rents)
for i in list_rents:
    result.append("{}: {}\n".format(i, 'Caro' if i > avg else 'Precio razonable'))
print("El precio promedio de la lista dada es {}, por lo que estas son las comparaciones independientes:\n    {}".format(avg, result))

If you want to turn a list of strings li into a single string, joined by newlines, you should use "\n".join(li) , instead of adding a newline to each string individually (because you'll still have a list then).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM