2017-01-17 3 views
-3

У меня есть код, который работает только при использовании оператора //, а не из регулярного /. Что особенно важно для оператора //python 2.7 // operator

return func1() // func2 #this works 
return float(func2())/float(func3()) #does not work 

Почему?

+1

Какую ошибку вы получаете? '//' - целочисленное деление. – L3viathan

+0

Пожалуйста, объясните, что вы подразумеваете под «не работает». Вызывает ли это исключение? Если это так, пожалуйста, покажите трассировку и предоставите достаточный код для воспроизведения. Отличается ли он от результатов, которые вы ожидаете? Если да, пожалуйста, покажите полученные результаты, скажите, какие результаты вы ожидали (и почему). –

ответ

2

Оператор // в Python является оператором «разделение полов». Поэтому ваши два выражения не эквивалентны.

Например:

>>> 3.5 // 2.0 
1.0 
>>> 3.5/2.0 
1.75