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.