Форум сайта python.su
Доброй ночи форумчане, стал я изучать Python, мой первый язык, столкнулся с проблемой. Передо мной поставлена задача купить мороженное на 10 человек, остаток вывести. Если же денег не хватает, просто не выводить, однако мой 2 if компилятор просто игнорирует и уже вычитает по формуле money-price*10 и получается допустим 120-140=-20. Писать не должно, а пишет. Я новичок и стал изучать данный язык буквально вчера.
money = int(input()) price = int(input()) if money > price: print(money-price*10) if money < price: print("")
Офлайн
научитесь интерпретировать то что вы пишете
к примеру ваш код
переменной money присвоить int (значение приведенное из строки,полученной из консоли)
переменной price присвоить int (значение приведенное из строки,полученной из консоли)
если money > price,выполнить код далее:
вывести в консоль(значение выражения money-price*10)
если money < price, выполнить код далее:
вывести в консоль(пустой символ)
Пробуем
money = 140
price = 120
140>120 => True # выражение верно,значит выполнять далее
вывод в консоль(140 - 120*10) # -1060
140<120 =>False, выражение не верно,далее не выполнять
конец 0
Офлайн
Pasteb1nА язык тут ни при чём. Ты алгоритмировать не умеешь.
Я новичок и стал изучать данный язык буквально вчера.
Отредактировано py.user.next (Янв. 24, 2021 02:39:37)
Офлайн
total_cost = price * 10 # ошибка 1 денег не хватит именно на все а не на одно мороженное if money>=total_cost: # ошибка 2 если денег в обрез то купить все-же можно print("остаток:",money-total_cost) else: # ошибка 3 У вас одно условие а не два print("денег не хватило") # Лучше писать что произошло Иначе потом вы будете думать что программа не запустилась сломалась и т.п.
Офлайн
Всех благодарю за ответы, спасибо.
Офлайн
price = int(input("price: ")) money = int(input("money: ")) if money / price < 10: print(None) else: print(money - (price * 10)) # можно (но не нужно) и так тоже #print(None) if money / price < 10 else print(money - (price * 10))
#вроде python 3.8 print(None) if (money := int(input("money: "))) / (price := int(input("price: "))) < 10 else print(money - (price * 10))
Отредактировано AD0DE412 (Янв. 24, 2021 11:24:15)
Офлайн
I see you already got the answer ! Nice and helpful community!!!
Офлайн