首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中编写脚本

如何在python中编写脚本
EN

Stack Overflow用户
提问于 2014-02-09 19:04:05
回答 3查看 147关注 0票数 0

如果33人有33辆车出现在一个拼车停车场,如果每辆车能容纳4人,需要多少辆车?停车场还剩下多少辆车?

我知道答案是9,但我该如何编写脚本呢?我在这件事上挣扎了好几个小时。

代码语言:javascript
复制
cars = 33
people = 33
people_per_car = 4
cars_needed = people / people_per_car
cars_left_at_lot = cars - cars_needed
print cars_needed
print cars_left_at_lot

我得了8-错了!

代码语言:javascript
复制
8
25
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-09 19:08:57

这是因为在python2中,当两个操作数都是整数时,您将执行整数除法,而在默认情况下,整数除法如下:

代码语言:javascript
复制
 >>> 33/4
 8 
 >>> 33/4.0 # Note that one of operands is float
 8.25
 >>> math.ceil(33/4.0)
 9.0

在python3中,在默认情况下,部门是以浮点数的方式执行的(但我猜这是不相关的)。

票数 1
EN

Stack Overflow用户

发布于 2014-02-09 19:09:49

如果有剩余部分,您需要添加一辆额外的汽车:

代码语言:javascript
复制
cars_needed = people / people_per_car
if people % people_per_car:
    cars_needed += 1
票数 1
EN

Stack Overflow用户

发布于 2014-02-09 19:12:17

好的,您需要使用python3.3或float命令来禁用自动舍入:

代码语言:javascript
复制
from math import ceil
cars = 33
people = 33
people_per_car = 4
cars_needed = int(ceil(1.* people / people_per_car))
cars_left_at_lot = cars - cars_needed
print cars_needed
print cars_left_at_lot

在python中,如果数字的类型为int,则会自动舍入数字。这就是为什么我使用1. *将数字转换为浮动的原因。细胞会做四舍五入而不是四舍五入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21663524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档