решение задачи питон
В небольшой фруктовой лавке у каждого фрукта есть название и цена. Эта информация хранится в одном большом списке, вот так:
goods = [["яблоки", 50], ["апельсины", 190], ["груши", 100], ["нектарины", 200], ["бананы", 77]]
Недавно в лавку привезли новый fruit_name по цене price, а после этого случилось ужасное: повысили налоги. А значит, повысились и цены на фрукты, на целых 8%!
Реализуйте код, который добавляет в список goods ещё один список с новым фруктом и ценой (это запрашивается у пользователя), а затем увеличивает цены всех фруктов на 8%.
Пример:
Текущий ассортимент: [["яблоки", 50], ["апельсины", 190], ["груши", 100], ["нектарины", 200], ["бананы", 77]]
Новый фрукт: абрикосы
Цена: 150
Новый ассортимент: [["яблоки", 50], ["апельсины", 190], ["груши", 100], ["нектарины", 200], ["бананы", 77], ["абрикосы", 150]]
Новый ассортимент с увел. ценой: [['яблоки', 54.0], ['апельсины', 205.2], ['груши', 108.0], ['нектарины', 216.0], ['бананы', 83.16], ['абрикосы', 162.0]]
я написал так
goods = [["яблоки", 50], ["апельсины", 190], ["груши", 100], ["нектарины", 200], ["бананы", 77]]
while True:
print('Ваш текущий список фруктов',goods)
fruit_name=input('Новый фрукт: ')
price=int(input('Цена: '))
goods.append([fruit_name,price])
Подскажите как увеличить весь двумерный список на 8%?
Ответы (2 шт):
Все просто:
goods = [["яблоки", 50], ["апельсины", 190], ["груши", 100], ["нектарины", 200], ["бананы", 77]]
for item in goods:
item[1] = round(item[1] * 1.08, 2)
print(goods)
Вывод:
[['яблоки', 54.0], ['апельсины', 205.2], ['груши', 108.0], ['нектарины', 216.0], ['бананы', 83.16]]
@Rezo Gavtadze оставил код с комментариями. Бесконечный цикл у вас в решении был лишним, поскольку в задании этого не просили. Из-за него каждый раз, когда вы вводите название нового фрукта и цену на него цикл повторяется и ввод начинается заново.
goods = [
["яблоки", 50], # 0
["апельсины", 190], # 1
["груши", 100], # 2
["нектарины", 200], # 3
["бананы", 77] # 4
]
new_fruit = input() # Пользователь вводит название нового фрукта
price = int(input()) # Пользователь вводит цену нового фрукта
# В вложенный список добавляем список, содержащий новый фрукт и его цену
goods.append([new_fruit, price])
# В переменную fruit на каждой итерации будет прилетать вложенный список
# На первую итерацию туда пойдет ["яблоки", 50]
# На вторую итерацию ["апельсины", 190] и т.д.
# Соответственно, к этому вложенному списку мы можем обратиться fruit[0] -> "апельсины"
for fruit in goods:
fruit[1] = round(fruit[1] * 1.08, 2)
# Встроенная функция round принимает два аргумента - число, которое нужно округлить и до скольки знаков
# То есть round(86.270) -> 86.27
# По факту, в задании не написано до скольки знаков округлять, поэтому можете писать просто round()
print(goods)