python计算速度limi上汽车的百分比

2024-06-02 19:25:39 发布

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

我试着用这个代码计算超过速度限制的汽车的百分比,除了第二个循环中有错误,我不知道如何使用一个循环来增加超过速度限制的汽车数量。我的最终目标是打印出超过限速的汽车的百分比。我不熟悉编程,所以任何提示或帮助都将不胜感激,谢谢:-)

numCars = int(input("Enter the number of cars: "))

carSpeeds = []

for i in range(numCars):
    speed = int(input("Enter the car speed: "))
    carSpeeds.append(speed)

carsAboveLimit = 0

speedLimit = int(input("Enter the speed limit: "))


if speed > speedLimit
    carsAboveLimit =+ 1
    i = i +1

percent = int(carsAboveLimit)/len(carSpeeds)


print("The percentage of cars over the speed limit is", percent)

Tags: oftheinputcars汽车int百分比speed
3条回答

你在做欧几里得的师。carsAboveLimit的类型是int,与{}的类型相同。在

如果要得到百分比,只需乘以一个浮点数(通常是1.),如下所示:

percent = 1. * int(carsAboveLimit)/len(carSpeeds)

主要问题是

  1. if语句末尾缺少冒号
  2. if语句只执行一次,您没有将其放入循环中

您可以将if语句更改为:

for car_speed in carSpeeds:
    if car_speed > speedLimit:
        carsAboveLimit += 1

它所做的就是检查列表中的每一项。每当car_speed的值成为列表中的下一项时。在

  1. 除法是一个integer division,所以不会得到十进制数
  2. 你需要乘以100才能得到百分数

而是指定一个float并乘以100:

^{pr2}$
  1. 如果你不格式化最后的字符串,你会得到很多尾随数字

您应该先尝试一下,不要先格式化,以了解我的意思,然后您可以将其更改为:

print "The percentage of cars over the speed limit is %0.2f%%" % percent

其他事情

注意,Python中变量的通常约定是使用下划线而不是camelCase。也就是说,尝试使用:speed_limit而不是speedLimit。在

您不需要i变量。我猜你是想找个计数器来跟踪这个循环?不管怎样都没必要。在

祝你好运!在

  • 您在if speed > speedLimit

  • carsAboveLimit已经是一个int;您不需要再次强制转换它。

  • =+不是运算符;+=

  • 对于一个百分比,你需要乘以100。ie公司

    pct = 100. * carsAboveLimit / len(carSpeeds)
    

我建议你这样写

^{pr2}$

相关问题 更多 >