Код в Python работает неправильно

22 Янв 2023г. в 12:03

Первая проблема заключается в том, что код слишком большой. А вторая проблема в том, что переменная должна уменьшиться только один раз, а она уменьшается 3 раза.

list = ['MacBook'], ['iPhone'], ['iPad'], ['AirPods'], ['AppleWatch'], ['iMac']
moneys = 10000
buy = input('Введите товар который хотите купить: ')
price = int(input('Введите цену за которую хотите купить товар: '))

if buy == 'MacBook' or 'iPhone':
print ('Вы купили ', buy, 'за', price, '$')
moneys -= price
print (moneys, '$ у вас осталось после покупки')

if buy == 'iPad' or 'AirPods':
print ('Вы купили ', buy, 'за', price, '$')
moneys -= price
print (moneys, '$ у вас осталось после покупки')

if buy == 'AppleWatch' or 'iMac':
print ('Вы купили ', buy, 'за', price, '$')
moneys -= price
print (moneys, '$ у вас осталось после покупки')
else:
print('Товара нет в наличии.')

if price < 1500:
print ('Цена слишком маленькая.')
Подскажите пожалуйста, как можно решить эти проблемы.


Оставить комментарий

Ваше имя::


Комментарий::




(2023-01-22 12:03:43)
надо всего лишь добавить цикл while и при уменьшении переменной один раз остановить интерацию
(2023-01-22 12:03:56)
У вас условия выглядит так:
if buy == 'MacBook' or 'iPhone':
print ('Вы купили ', buy, 'за', price, '$')
if buy == 'iPad' or 'AirPods':
print ('Вы купили ', buy, 'за', price, '$')
if buy == 'AppleWatch' or 'iMac':
print ('Вы купили ', buy, 'за', price, '$')
Для питона условие if "Какая-то строка" всегда будет истиной, поэтому надо уточнять:

if buy == 'MacBook' or buy == 'iPhone':
print ('Вы купили ', buy, 'за', price, '$')
if buy == 'iPad' or buy == 'AirPods':
print ('Вы купили ', buy, 'за', price, '$')
if buy == 'AppleWatch' or buy == 'iMac':
print ('Вы купили ', buy, 'за', price, '$')
Но так мы делать не будем, так как все возможные товары у нас лежат в списке list, поэтому, правильно сделать так:

list = ['MacBook', 'iPhone', 'iPad', 'AirPods', 'AppleWatch', 'iMac']
moneys = 10000
buy = input('Введите товар который хотите купить: ')
price = int(input('Введите цену за которую хотите купить товар: '))

if price > 1500:
if buy in list:
print (f'Вы купили {buy} за {price}$')
moneys -= price
print (f'{moneys}$ у вас осталось после покупки')
else:
print('Товара нет в наличии.')
else:
print ('Цена слишком маленькая.')