|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
nums = [2, 2, 4, 2,2, 6, 7]
nums.sort()
length = len(nums)
half = nums[length // 2]
count = 0
for each in nums:
if each == half:
count += 1
if count > length / 2:
print("存在主要元素,是:", half)
else:
print("不存在主要元素!")
本帖最后由 jackz007 于 2022-10-8 15:54 编辑
- nums = [2, 2, 4, 2,2, 6, 7]
- nums . sort() # 对列表 nums 排序得到 nums = [2 , 2 , 2 , 2 , 4 , 6 , 7]
- length = len(nums) # length = nums 的元素个数
- half = nums[length // 2] # half = nums[3] = 2
- count = 0 # 计数器置 0
-
- for each in nums: # 循环枚举 nums 中每一个元素
- if each == half: # 如果该元素的值是 2
- count += 1 # 计数器的值加 1
- if count > length / 2: # 循环结束的时候,count = 4,肯定大于 nums 元素个数的一半 7 // 2 = 3
- print("存在主要元素,是:", half) # 打印信息
- else:
- print("不存在主要元素!")
复制代码
这样写代码更加简单并且容易理解:
- nums = [2 , 2 , 4 , 2 , 2 , 6 , 7]
- for each in set(nums): # set(nums) 的内容为 {2 , 4 , 6 , 7}
- if nums . count(each) > len(nums) // 2: # 如果元素 each 的个数超过了 nums 中元素总数的一半
- print("存在主要元素,是:" , each)
- break # 结束循环
- else: # 如果循环过程始终没有被 break
- print("不存在主要元素。") # 那就说明 nums 中不曾有任何一个元素的个数超过 nums 中元素总数的一半
复制代码
|
|