Python

Проблема с программой типа "список" в Python

Недавно начал изучать Питон по видео урокам на ютуб, и пробовал сделать "список" как из видео, но прога выдает либо "Введите число:" и когда я отвечаю вне зависимости от ответа снова появляется "введите число", либо пишется что то типо: "не имел ли я ввиду "sum" вместо "num"?"
 products = ['колбаса', 'хлеб', 'яйца', 'молоко']
print(products[0])
print(products[1])
print(products[2])
print(products[3])

print(len(products ))

print(products[len(products) - 1])

products.append('яблоки')
products.append('груши')
products.append('мандарины')

products.pop(0)

for p in products:
print(p)

while True:
num == input('Введите число:')
if num == '1':
products.append(input('Введите название продукта:'))
print('Продукт добавлен в список')
elif num == '2':
print('Продукт "колбаса" удалён')
products.pop(0)
elif num == '3':
products.pop(1)
print('Продукт"хлеб"удален')
elif num == '4':
products.pop(2)
print('продукт "яйца" удален')
elif num == '5':
print('Продукты:')
print('------------')
for p in products:
print(p)
print('------------')

Ссылка на видос https://www.youtube.com/watch?v=gmhZUqXP46E&list=PLdzeMLV8u_l5AMy-vCFYy0phZsOHmicEA&index=4&ab_channel=Пиксель-школапрограммированиядлядетей
Помогите пожалуйста кому не лень, а то уже пол для с этой парашей сижу
Проблема связана с неправильным использованием оператора сравнения (`==`) и неправильным обращением к элементам списка.

1. Замените `num == input('Введите число:')` на `num = input('Введите число:')`. Вы используете оператор сравнения (`==`), когда должны использовать оператор присваивания (`=`).

2. Вместо обращения к элементам списка по индексам (например, `products.pop(0)`), вы можете использовать значения, которые пользователь вводит. То есть вместо `num == '1'` используйте `num == 1`.

3. Обратите внимание, что индексы в Python начинаются с 0, так что индексы продуктов должны быть на единицу меньше, чем значения, которые вы используете для удаления элементов списка.

Вот исправленный код от меня:
products = ['колбаса', 'хлеб', 'яйца', 'молоко']

print(products[0])

print(products[1])

print(products[2])

print(products[3])



print(len(products))



print(products[len(products) - 1])



products.append('яблоки')

products.append('груши')

products.append('мандарины')



products.pop(0)



for p in products:

print(p)



while True:

num = input('Введите число:')

if num == '1':

product = input('Введите название продукта:')

products.append(product)

print('Продукт добавлен в список')

elif num == '2':

print('Продукт "колбаса" удалён')

products.pop(0)

elif num == '3':

print('Продукт "хлеб" удален')

products.pop(0) # Используйте 1 вместо 0

elif num == '4':

print('Продукт "яйца" удален')

products.pop(1) # Используйте 2 вместо 1

elif num == '5':

print('Продукты:')

print('------------')

for p in products:

print(p)

print('------------')



Обратите внимание на изменения. Надеюсь помог!
Юра Резник
Юра Резник
297
Лучший ответ
Сергей Болих Огромное спасибо!
по ютюбу учить языки это не есть гут.
книга намного полнее и удобнее

https://codernet.ru/books/python/yazyk_programmirovaniya_python_g_rossum/

это лучший учебник из всех мне встречавшихся
Антон Сергеевич Жиленко про книги согласен, в телеграме даже много каналов где можно онлайн читать книги по айти
Сергей Болих спасибо:)
Сергей Анисимов while True: # это бесконечный цикл.

лучше предусмотреть выход их цикла при вводе отрицательного числа:
 num = 1000
while n >= 0:
num = int (input('Введите число:') )
# .... некий код


num = input('Введите число:')