2016-04-15 6 views
1

Я немного нового в python, и я хотел проверить его, моя идея состояла в том, чтобы создать скрипт, который будет видеть, сколько вещей вы могли бы купить за определенную сумму денег , Проблема с этим проектом, однако, заключается в том, что я не знаю, как удалить десятичные знаки, так же, как вам нравится, если у вас есть 1,99 доллара, а стоимость соды - 2 доллара, у вас технически не хватит на это денег. Вот мой сценарий:Python - Как удалить десятичные знаки без округления

Banana = 1 
Apple = 2 
Cookie = 5 

money = input("How much money have you got? ") 
if int(money) >= 1: 
    print("For ", money," dollars you can get ",int(money)/int(Banana),"bananas") 
if int(money) >= 2: 
    print("Or ", int(money)/int(Apple), "apples") 
if int(money) >= 5: 
    print("Or ", int(money)/int(Cookie)," cookies") 
else: 
    print("You don't have enough money for any other imported elements in the script") 

Теперь, если я ввести, например, 9 в этом сценарии, он будет сказать, что я могу получить 1,8 печенье, как я делаю это сказать, я могу получить 1 печенье при входе FX 9?

ответ

5

Я подозреваю, что вы используете Python 3, потому что вы говорите о том, чтобы поплавок результат 1.8, когда вы делите два целых числа 9 и 5.

Таким образом, в Python 3, есть оператор деления целое// вы можете использовать:

>>> 9 // 5 
1 

против

>>> 9/5 
1.8 

Как для Python 2, / оператор по умолчанию выполняет целочисленное деление (когда оба операнда Интс), если вы не используете from __future__ import division, чтобы заставить его вести себя как Python 3.

+0

Большое вам спасибо, не ожидал, что это будет так просто: D –

+0

Стоит отметить, что оператор '//' существует и в (не древних версиях) Python 2, и это предпочтительный способ цельного целого независимо от того, какую версию Python вы используете. Не используйте '/', когда предполагается целочисленное деление, даже в Python 2. –

0

Использование Math.floor

Обновленный код:

import math 
Banana = 1 
Apple = 2 
Cookie = 5 

money = input("How much money have you got? ") 
if int(money) >= 1: 
    print("For ", money," dollars you can get ",math.floor(int(money)/int(Banana)),"bananas") 
if int(money) >= 2: 
    print("Or ", math.floor(int(money)/int(Apple)), "apples") 
if int(money) >= 5: 
    print("Or ", math.floor(int(money)/int(Cookie))," cookies") 
else: 
    print("You don't have enough money for any other imported elements in the script") 
Смежные вопросы