pppppddd 发表于 2021-7-12 21:28:58

求解


要最后结果是这个list里True出现的次数(起码两次)以及他开始的位置 答案是这样的[,]

fish_nian 发表于 2021-7-12 23:45:03

def TrueCount(n):
    left,right = 0,0
    listCount = []
    for i in range(len(n)):
      if n == False:
            if i == 0 :
                left = i + 1
            else:
                text =
                listCount.append(text)
                left = i + 1
      elif n == True:
            if i + 1== len(n):
                text =
                listCount.append(text)
            else:
                right = i
    print(listCount)

的结果是:
TrueCount()
[, ]

fish_nian 发表于 2021-7-12 23:46:39

写的比较垃圾,没考虑到高效性和简洁性,不过如果是作业来提交的话是可以看到一些思路的,原本我想使用哈希表存储位置信息的,但是后续还需要统计连续的位置信息,还是这种比较暴力舒服

fish_nian 发表于 2021-7-12 23:48:53

写的比较仓促。可能有些地方没有考虑到,不过应该蛮全面的了,如果认为是还可以给个最佳答案吧,毕竟写了快半个钟

Daniel_Zhang 发表于 2021-7-13 00:12:48

fish_nian 发表于 2021-7-12 23:45
的结果是:

试试这个?

list1 =

True 和 1 确实相同,在某些情况,但是 True 的 type 是 bool, 1 的 type 是 int, 此处的要求是识别出 True

我感觉这种题目不会让人去区别 True 和 1 的问题,但是还是防患于未然吧{:10_250:}

Twilight6 发表于 2021-7-13 01:34:31



深夜睡不着,来敲码:

bool_list =
index, result, length = 0, [], len(bool_list) - 1

while index < length:
    if bool_list:
      left = index
      right = index + 1
      index = right
      while bool_list:
            right += 1
            if index == length:
                break
            index += 1
      if len(set()) == 2:
            result.append()
    else:
      index += 1

print(result)

fish_nian 发表于 2021-7-13 08:11:33

Daniel_Zhang 发表于 2021-7-13 00:12
试试这个?




{:10_266:}的确写的快没想到

qq1151985918 发表于 2021-7-13 08:46:01

<font color="red">[已解决]</font>list中寻找连续出现的位置
https://fishc.com.cn/thread-198186-1-1.html
(出处: 鱼C论坛)

Daniel_Zhang 发表于 2021-7-13 11:38:51

Twilight6 发表于 2021-7-13 01:34
深夜睡不着,来敲码:

大佬,我不确定会不会有以下情况:

list1 =

如果他这里要求的 1 不能等同于 True 的话,即有且只有是 True 这个 bool 类型的时候才能满足条件的话,情况会有所不同

z5560636 发表于 2021-7-13 16:51:50

def add_value(list1=[]):
    if len(list1)<1:
      return print("找不到任何可以成立的条件,请不要浪费我的算力!")
    list2 =[]
    list3 =[]
    num =0
    index =-1
    for i in range(len(list1)):
      if list1:
            num += list1
            if index == -1:
                index = i
      elif num > 0:
            list3.append()
            index = -1
            num=0
      else:
            index = -1
            num = 0
    if num > 0:
      list3.append()
    return list3

Twilight6 发表于 2021-7-14 08:03:46

Daniel_Zhang 发表于 2021-7-13 11:38
大佬,我不确定会不会有以下情况:





若需些严谨,确实是这样的

Kayko 发表于 2021-7-14 09:42:54

牛蛙{:10_254:}
页: [1]
查看完整版本: 求解