【问题标题】:How to find the percentage in my python list如何在我的 python 列表中找到百分比
【发布时间】:2020-06-08 22:57:03
【问题描述】:

所以我正在做一项任务,我需要找到停车场中占用空间的百分比,我有我的清单和百分比计算。当我运行程序时,我得到 0%。

我认为我做错了什么,因为列表没有被选中。

只是寻找一些提示和技巧,而不是完整的答案:)

#Find the percentage of occupied car spaces.

#Input: Cars in spaces
occupied_spaces = [1, 1, 1, 1, 1, 1, 0, 0, 0 ,0, 0] 

#Output: of spaces occupied
spaces = 0
cars = 1


#calualtion to find percentage
percentage = (spaces/(cars)*100)

print (percentage,'% of spaces are occupied')

【问题讨论】:

  • 那么1的意思就是空间被占用了吧?
  • 是的,抱歉我没有解释清楚

标签: python list


【解决方案1】:

这一行计算占用率应该够了:

percentage = (sum(occupied_spaces)/len(occupied_spaces)) * 100

既然你告诉过你不能使用 sum 函数,你可以像这样在一行中完成:

percentage = (occupied_spaces.count(1)/len(occupied_spaces)) * 100

【讨论】:

  • 谢谢,我刚刚浏览了我的作品,他们不希望我们使用 sum 函数。我解释得不是很好。对不起。但是谢谢你:)
  • 没问题!你能解决它还是仍然坚持它?
  • 仍然卡在自动取款机上,我知道我需要有 (len) 以便它可以计算列表,但我不知道如何让它工作
  • 我已经用另一个解决方案更新了答案。请检查这是否符合您的要求。
【解决方案2】:

你可以这样计算占用空间:

occupied_spaces = [1, 1, 1, 1, 1, 1, 0, 0, 0 ,0, 0] 
cars = occupied_spaces.count(1)
spaces = occupied_spaces.count(0)  # this variable is not used, so you can safely remove it
percentage = cars/len(occupied_spaces)

【讨论】:

    【解决方案3】:

    另一种选择是使用 Python statistics 模块:

    from statistics import mean 
    print(mean(occupied_spaces)*100)
    

    【讨论】:

      【解决方案4】:

      正如您在代码中看到的,您有两个变量,分别名为 spacescars,每个变量分别给出了 01 的值。当您尝试查找列表中占用空间的百分比时,您将spaces(即0)除以cars。结果,这将始终为您提供0,因为您没有获得列表中的实际汽车数量。为此,您可以这样做:

      percentage = (occupied_spaces.count(1) / len(occupied_spaces)) * 100
      

      【讨论】:

        【解决方案5】:

        只需计算occupied_spaces 列表中的 o 1 的个数。然后将计数除以occupied_spaces 列表的长度并乘以100。 要获得occupied_spaces 的长度,请使用len(occupied_spaces)

        【讨论】:

          猜你喜欢
          • 2022-11-05
          • 1970-01-01
          • 2019-12-05
          • 2016-04-17
          • 2021-11-23
          • 2014-06-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多