По всей видимости ты забыл сделать табуляцию после цикла while.
Вот твой код:
price = int(input('Стоимость товара (0 — покупок больше нет):'))
total_price = 0
while price != 0:
total_price += price
price = int(input('Стоимость товара (0 — покупок больше нет):'))
А вот как должно было быть:
price = int(input('Стоимость товара (0 — покупок больше нет): '))
total_price = 0
while price != 0:
total_price += price
price = int(input('Стоимость товара (0 — покупок больше нет):'))
print('Стоимость всех покупок:', total_price)
Объяснение:
Для корректной работы кода в Python необходимо соблюдать табуляцию
Ошибки / Объяснение:
1. В условие сказано что будет запрашивать до тех пор, пока не будет off слова, буквально от слова "пока"(while на английском) должен стоять цикл While. Я поставила While True, а не пока не off, потому что тогда бы оно пошло после категории off еще спрашивать о сумме. В ином случае же можно было сделать while category != "off".
3. На 3ей строчке пропущены скобки: if category.lower() == 'выпечка'..
4. Проверку на регистр ты хорошо придумал, но ты немного ошибся, буквально ты сделал "Если выпечка == Выпечка, то", то-есть когда делаешь проверку для любого регистра на мелкие буквы, в ответе тоже должны быть мелкие буквы : if category.lower() == 'выпечка'..
В общем я подправила код, вот:
Python Code:
print('Категория (off - завершить):')
while True:
category = input('Введите категорию продуктов:')
if category.lower() == 'off':
break
summa = int(input('Сумма:'))
if category.lower() == 'выпечка':
print('Скидка 30%. К оплате:', summa * 0.70)
elif category.lower() == 'молочные продукты':
print('Скидка 10%. К оплате:', summa * 0.90)
else:
print('Сумма без скидки:', summa)
print('Касса закрыта.')
const n=10;
var f:array[1..n] of integer;
k,s,m:integer; sr:real;
begin
writeln ('vvedite massiv');
for m:=1 to n do
readln( f[m]);
k:=0;
s:=0;
for m:=1 to n do
if f[m]>0 then begin
s:=s+f[m];
inc(k);
end;
sr:=s/k;
writeln('sr=',sr);
readln;
end.