u010493679 2021-11-23 23:04 采纳率: 95.7%
浏览 98
已结题

for循环,代码编写问题?

#仅是举例,实际需求数据很多
l=[14,98,12,74,16,17,18,73,49,42,73,8,68,1,6,4,8,45,21,25,12,47,46,86,9,48,698,78,489,15]

#for循环的意思,是每当有连续3个数字>20时停止运行,得出此时停止的位置 i
num = 0
for i in range(len(l)):
    if l[i] >20:
        num = num+1
        print(i+1,l[i])
    if l[i] <20:
        if num > 3:
              break
        num = 0
        #print(i+1,l[i])
i
#代码编的不对;需求是:第一次停止后得到 停止的位置 i ,然后做大小比较,得出结果符合 或者不符合
#符合后,继续按照上述for循环逻辑,从位置 i+1 开始,往后判断,直至遍历所有数据(不同于上述for循环的从第一个数字开始)
#不符合后,继续按照上述for循环逻辑,从位置从 i 开始,往后判断,直至遍历所有数据(不同于上述for循环的从第一个数字开始)
#重点是需要遍历 所有的数据 然后停止,期间 会有很多次符合  ‘for循环的满足3个数字>20就停止’
if l[i] > 10:
    print("符合")

if l[i] <= 10:
    print("不符合")
    
    
#请问,该咋写?

  • 写回答

4条回答 默认 最新

  • CSDN专家-文盲老顾 2021-11-26 09:00
    关注

    居然还有类似的问题。。。

    
    l=[14,98,12,74,16,17,18,73,49,42,73,8,68,1,6,4,8,45,21,25,12,47,46,86,9,48,698,78,489,15]
    
    m=[]
    n=[]
    for i in l:
        if i<20:
            m=m+n+[i]
            n=[]    # 需要清空n,从新计数
        else:
            n.append(i)
            if len(n)>=3:
                print('取到非连续大于20的数字:',m)
                print('遇到连续大于20的数字:',n)
                print('连续大于20的位置出现在:',len(m))
                break
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月11日
  • 已采纳回答 12月3日
  • 修改了问题 11月23日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决