21讲的课后作业 请问 这个for ……in……内嵌的 count的值是多少 为什么?
nums =nums.sort()
length = len(nums)
half = nums
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 =
nums . sort() # 对列表 nums 排序得到 nums =
length = len(nums) # length = nums 的元素个数
half = nums # half = nums = 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 =
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 中元素总数的一半
页:
[1]