为什么他在这个例子中使用浮点?

2024-05-16 22:32:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个初学者学习Python从学习Python的艰难之路。这是我学的第一门编程语言,我一直在练习。在

练习: “解释为什么使用4.0而不是4。”

cars = 100
space_in_a_car = 4.0 #Why does he uses 4.0 instead of 4 here?
drivers = 30
passengers = 90
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven


print "There are", cars, "cars available."
print "There are only", drivers, "drivers available."
print "There will be", cars_not_driven, "empty cars today."
print "We can transport", carpool_capacity, "people today."
print "We have", passengers, "to carpool today."
print "We need to put about", average_passengers_per_car, "in each car."

老实说,我找不到任何理由他会在第2行使用一个浮点,除了作为一个例子,如果我有一个浮点数,它会影响表达式的其他求值(cars_driven*space_in_a_car),结果是120.0。在

我错过什么了吗?在


Tags: intodaynotspacecarcarswethere
3条回答

一般来说,整数div与浮点div不同

整数div:

myInt = 4 / 5
myInt == 0

浮点数:

^{pr2}$

通过将_car中的space_设为float,则运算结果被计算为float(无舍入)

但是在这个示例中,car中的“u in”只用于乘法,对于乘法,也一样,但值不变(120等于120.0)。我的猜测是,它本来打算用在一个部门,以显示上述财产,但有一个拉普苏卡拉米。在

在问题中给出的代码中,没有理由使用浮点值。在

这是一个简单的问题,有一个简单的答案,我因为某种原因而过于复杂。在

(假设您知道3/4为什么返回0,为什么3/4.0返回0.75)

我看了一眼这本书,代码是只有那一点,它似乎没有更多的内容,它确实要求:

Explain why the 4.0 is used instead of just 4.

事实证明这是一个奇怪的问题,因为实际上没有理由。David Heffernan was right all along.

因此,当你添加.0时,它并没有比将拼车容量变为浮动的任何效果,因为你只需:

carpool_capacity = cars_driven * space_in_a_car

我不明白作者的目的是什么,唯一显著的区别是一个打印120.0,另一个{}

正如我之前指出的:

^{pr2}$

会更有意义,因为,例如,如果原始代码中的passengers = 93的平均值是3,而不是{},这在我看来对于平均值来说更合理。在

很抱歉给你带来的困惑,我希望我现在就得到它:)而且它会有所帮助!在

旧:

<罢工> 原因可能是:

3/4 # returns 0

这是因为int/int == int,所以4在3中“适合”0次,而没有小数点,因为它是一个整数

您应该:

3/4. # returns 0.75

或者

3/float(4)

这适用于python2.x,而不是python3

但是

这根本没有意义,除非我遗漏了什么,否则我认为这是“错误的”!在

这样做更有意义:

cars = 100
space_in_a_car = 4 #not float
drivers = 30
passengers = 90
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / float(cars_driven)  #added float

因为一辆车的空间量不可能是4个半座位,平均可能是2个半人,因为这是一个数字,而不是实际的人。 在

相关问题 更多 >