码迷,mamicode.com
首页 > 其他好文 > 详细

数字统计

时间:2020-09-12 21:55:42      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:only   imp   范围   flag   rand   else   完成   随机数   lan   

数字统计

数字统计一

随机产生取值范围为[1, 20]的10个数字,统计各个数字出现的次数。

方法一:

利用List的索引实现数字统计。10个数字,范围为1至20,可以以一个列表来记录数字出现的次数

import random

random_nums = [random.randint(1, 20) for _ in range(10)]
print(random_nums)
record_nums = [0] * 21  # 索引从0开始,为了与[1, 20]一一对应索引,所以生成21个元素的列表,索引为0不使用
for i in random_nums:
    record_nums[i] += 1
print(record_nums)

for i, d in enumerate(record_nums):
    if d > 1:
        print(‘数字{0},重复出现{1}次‘.format(i, d))
    elif d == 1:
        print(‘数字{0}, 只出现了一次‘.format(i))

方法二:

list自带count方法,只需要调用一次该方法即可完成数字出现次数统计,只是当有重复数字出现时会多次count,所以需要额外记录一下哪些数字被count过。

import random

random_nums = [random.randint(1, 20) for _ in range(10)]
print(random_nums)

counted = [] # 记录已被count过的数字
for i in random_nums:
    if i not in counted:
        print(‘数字{},出现{}次‘.format(i, random_nums.count(i)))
        counted.append(i)

数字统计二

随机产生取值范围为[1, 20]的10个数字,统计哪些数字只出现了一次,哪些数字有重复出现。

只关心有无重复出现,不关心重复出现的次数,所以不用统计次数。

import random

random_nums = [random.randint(1, 20) for _ in range(10)]
print(random_nums)

only_nums = []  # 存放只出现一次的数字
repeat_nums = []  # 存放有重复出现的数字
nums_state = [0] * len(random_nums)  # 记录随机数的状态,随机数有重复则对应索引位元素置为1

for i in range(len(random_nums)):
    if nums_state[i] == 1:
        continue
    flag = False
    for j in range(i + 1, len(random_nums)):
        if nums_state[j] != 1:
            if random_nums[j] == random_nums[i]:  # 有重复时
                nums_state[j] = 1 # 状态置为1
                flag = True
    if flag:
        nums_state[i] = 1  # 状态置为1
        repeat_nums.append(random_nums[i])
    else:
        only_nums.append(random_nums[i])

print(‘不重复数字 {}‘.format(only_nums))
print(‘重复数字 {}‘.format(repeat_nums))
# print(list(zip(nums_state, random_nums)))

数字统计

标签:only   imp   范围   flag   rand   else   完成   随机数   lan   

原文地址:https://blog.51cto.com/zhaochj/2526361

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!