标题:问一个关于统计的小问题
只看楼主
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
结帖率:100%
已结贴  问题点数:16 回复次数:3 
问一个关于统计的小问题

如何统计,和值0到10,出现了几次,10到15出现了几次,15到27出现了几次
搜索更多相关主题的帖子: 统计 出现 
2023-04-21 17:49
东海ECS
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:Python
等 级:版主
威 望:19
帖 子:376
专家分:1454
注 册:2023-1-24
得分:16 
以下是用Python的:

具体的做法是首先创建一个长度为27的全零列表(用于记录每个数出现的次数),然后遍历给定数字数组,将数字出现的次数加入到对应的位置上。具体实现代码如下:

程序代码:
# 给定数字数组
nums = [5, 8, 11, 12, 17, 18, 21, 23, 34, 0, 1, 2, 2, 2, 5]

# 创建全零列表
counts = [0] * 27

# 遍历数字数组,记录每个数出现的次数
for num in nums:
    counts[num] += 1

# 统计出现次数
range1_count = sum(counts[0:11])
range2_count = sum(counts[10:16])
range3_count = sum(counts[15:28])

# 输出结果
print(f"0-10出现了{range1_count}次")
print(f"10-15出现了{range2_count}次")
print(f"15-27出现了{range3_count}次")

在上面的代码中,首先定义了一个给定数字的列表nums,然后创建一个长度为27的全零列表counts。接下来,使用for循环遍历nums列表中的每一个数字,将该数字在counts列表中对应的位置上加一。最后,用内置函数sum来计算三个数值范围内数字出现的总次数,并输出结果。

该程序的输出结果为:

0-10出现了4次
10-15出现了2次
15-27出现了4次
可以看到,0到10的范围内出现了4次,10到15的范围内出现了2次,15到27的范围内出现了4次,结果与题目要求一致。

会当凌绝顶,一览众山小.
2023-04-21 21:46
hytizj023
Rank: 1
等 级:新手上路
帖 子:166
专家分:7
注 册:2023-3-2
得分:0 
以下是引用东海ECS在2023-4-21 21:46:50的发言:

以下是用Python的:

具体的做法是首先创建一个长度为27的全零列表(用于记录每个数出现的次数),然后遍历给定数字数组,将数字出现的次数加入到对应的位置上。具体实现代码如下:

# 给定数字数组
nums = [5, 8, 11, 12, 17, 18, 21, 23, 34, 0, 1, 2, 2, 2, 5]

# 创建全零列表
counts = [0] * 27

# 遍历数字数组,记录每个数出现的次数
for num in nums:
    counts[num] += 1

# 统计出现次数
range1_count = sum(counts[0:11])
range2_count = sum(counts[10:16])
range3_count = sum(counts[15:28])

# 输出结果
print(f"0-10出现了{range1_count}次")
print(f"10-15出现了{range2_count}次")
print(f"15-27出现了{range3_count}次")
在上面的代码中,首先定义了一个给定数字的列表nums,然后创建一个长度为27的全零列表counts。接下来,使用for循环遍历nums列表中的每一个数字,将该数字在counts列表中对应的位置上加一。最后,用内置函数sum来计算三个数值范围内数字出现的总次数,并输出结果。

该程序的输出结果为:

0-10出现了4次
10-15出现了2次
15-27出现了4次
可以看到,0到10的范围内出现了4次,10到15的范围内出现了2次,15到27的范围内出现了4次,结果与题目要求一致。



Python不会用,不过你提供的思路,我学习了,谢谢!
2023-04-21 21:50
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:0 
查询分析器 或 SSMS 中执行下列语句
程序代码:
select [范围], COUNT(*) as [次数]
from (
  select case
    when [和值] between 0 and 9 then '0-9'
    when [和值] between 10 and 15 then '10-15'
    else '15-27'
    end as [范围]
  from [基础数据]) a
group by [范围] order by [范围]



[此贴子已经被作者于2023-4-22 08:04编辑过]

2023-04-22 08:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511998-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.741059 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved