2017-01-12 6 views
0

Я новичок в Python3 и сталкиваюсь с этой конкретной проблемой. Я хочу, чтобы 6/2 дал ответ 3 вместо 3.0, но в то же время я хочу, чтобы 7/2 дал мне 3.5 При использовании '//' он преобразует все значения с плавающей точкой в ​​целые значения.Проблемы с выпуском Python3

ответ

0

Вы можете проверить, имеет ли результат после десятичной точки значение и отбрасывается в целое число или плавать в зависимости от этого.

num = a/b 
if int(num) - num == 0: 
    num = int(num) 
else: 
    num = float(num) 

Вторая часть технически избыточна, но я оставил ее там для полноты.

Этот вопрос также является дубликатом: How to check if a float value is a whole number

Смежные вопросы