首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的while True循环在i= 0时是stcuk?

在编程中,当使用while True循环时,循环将无限执行,直到遇到break语句或者程序被手动中断。然而,如果在循环体内没有适当的条件来终止循环,循环可能会陷入无限循环的状态,导致程序卡住或无法继续执行。

在这个特定的问题中,当i的初始值为0时,循环可能会陷入无限循环的状态。这可能是因为在循环体内没有对i进行递增操作,导致i的值始终保持为0,从而无法满足终止循环的条件。

为了解决这个问题,你可以在循环体内添加适当的递增操作,例如i += 1,以确保i的值在每次循环迭代时都得到更新。这样,当i达到某个特定的值时,循环将终止。

以下是一个示例代码,演示了如何修复这个问题:

代码语言:txt
复制
i = 0
while True:
    # 执行循环体操作
    # ...

    i += 1  # 添加递增操作

    if i >= 10:
        break  # 当 i 达到某个特定值时终止循环

在这个示例中,我们通过在循环体内添加i += 1来递增i的值,并在i达到10时使用break语句终止循环。这样,循环将在i达到10之后停止执行,避免了陷入无限循环的问题。

需要注意的是,以上示例中的解决方案仅为一种可能的解决方法,具体取决于实际需求和代码逻辑。在实际开发中,你可能需要根据具体情况进行调整和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

(11)python里面while到底有多少知识点

小媛:emmm,觉得这个时候我们可以问一下读者“这点内容”到底是多少内容,哈哈哈。开始教我吧。 小C:那我们就把 while 循环知识点先学会吧。 小媛:赶紧开始,别废话。...上一节我们学习了 while 循环,使用 while 加一个条件 True 可以一直循环,但是我们想不进行循环了怎么办? 小媛:怎么办?不懂呀。...while True: a=input() if a=="a123456": break 小媛:这不也是一直循环吗?...小C:为什么没有输出 5 呢? 小媛:啊这?那肯定是因为你这串代码咯。 if i==5: continue 小C:那为什么呢?...此时就会不输出 5 值,因为你在这里当这个循环变量 i 等于 5 时候就会跳出。 小C:是的,懂了吧。 小媛:问题不大。

30820

Python for 一定快过 while?要看情况啊~!

看了标题,想大家应该知道今天要讲什么了,今天要讲循环效率分析,讲之前首先说一下好多人普遍认为 Python for 要快过 while,至于为什么,可以继续往下看。 ?...为什么普遍认为 for 快过 while? 大家都这样认为其实也不是凭感觉有一定依据,我们可以看一下下面这段程序。...从运行结果中我们可以发现确实是 for 更快,那么是不是任何循环只要用 for 就行了,while 就当不存在呢?其实并不是,至于为什么?请继续往下阅读。 ?...总有 while 快过 for 时候 我们可以发现上面两个循环都不是死循环,都是循环一定次数跳出,如果循环会发生什么情况呢?先来看下面的程序。...总结 从上面的分析中我们可以得出以下两个结论: 如果不是死循环,优先考虑 for 循环。 如果循环,优先考虑 while 循环

60610

Python基础(四) | 程序控制结构

为什么要用while 循环 4.4.2 while循环一般形式 主要形式: 4.4.3 while与风向标 4.4.4 while循环控制 break、continue 4.4.5 while与...else: print("产品抽检合格") 产品抽检不合格 4.4 无限循环——while 循环 4.4.1 为什么要用while 循环 经典题目:猜数字 albert_age = 18 #...break # 当诉求得到满足,就跳出循环 输出10以内奇数 i = 0 while i < 10: i += 1 if i % 2 == 0: continue...# 跳出本次循环,进入下一次循环 print(i) 1 3 5 7 9 4.4.5 while与else 如果while 循环全部执行完毕,没有被break中止,而是条件不再满足了而中止...条件一直成立,循环永无止境 # while True: # print("欢迎订阅专栏") 4.5.3 封装过于复杂判断条件 如果条件判断里表达式过于复杂 出现了太多 not/and/or

34910

第四章3:while 循环

正在以推文形式连载出来,欢迎学习。 星期三:while循环 今天我们将讨论另一种循环——while循环。昨天我们看到了循环工作原理,以及为什么要使用for循环。...For 虽然,之前已经多次解释了我们使用每个循环类型原因,但是,再次重申这些概念仍然有必要。当需要计数或迭代时,通常使用for循环执行基于条件操作时,通常使用while循环。...当使用while循环时,通常会用到条件判断布尔值(True为符合条件,False为不符合条件)。每个循环都有他们最适合应用环境,但在实际操作中,大多数情况都是看个人喜好。...---- 无限循环 之前章节中,曾提到无限循环不好。无限循环将使代码持续运行直到程序中断,或计算机关机或时间停止为止。知道了这些后,我们创建项目时,请一定要避免创建无限循环代码块。...让我们来看一个例子: # 嵌套循环使用两个及以上循环 for i in range(2): # 外循环 for j in range(3): # 内循环 print(i,

1.5K20

太菜了吧》(10)无底洞循环

为什么会这样? 小C:那是因为我们进行输入时使用 input 接收值都是字符串,问你字符串 5 与数字 5 python 中会相等吗? 小媛:哈哈哈,原来这个原因 ,想起来了。...小媛:你指那个 while 就是循环意思吗? 小C:挺聪明呀,竟然一看就知道 while 循环意思了。 小媛:又不傻,就多了一个 while 和一个 True 就随便猜一个。...小C:True 也是条件,不过 True 一个特殊条件,在这里表示这个循环永远执行,条件永远正确。 小媛:唔,你意思 True 表示条件永远正确?...小C:是的,while 关键字,而 i<10 就是条件,在后面接一个冒号,之后就是循环体。 小媛:你说循环意思就是表示要循环内容吧? 小C:是的。...小C:这个意思,在这里循环 10 次,因为 i<10,每次都显示你好,并且每次 i 变量都会加一次 1,这样这个 while 循环条件 i<10 总有一次会不满足,条件不满足时则跳出这个 while

53230

一个困扰122天技术问题,好像知道答案了。

从程序里看起来子线程休眠 100ms 后,把 flag 修改为 true。 来,你说这个程序会不会正常结束? ? 但凡是对 Java 并发编程有一定基础朋友都能看出来,这个程序一个死循环。...这次变动点 while 循环里面加了一个 100ms 睡眠。 来,你再猜一下。这个程序还是不是死循环呢?...这个地方 while 循环和上面的如出一辙。所以你知道为什么这个程序为什么不会正常结束了吗? 你不仅知道了,而且你还可以回答比 volatile 更深入一点。...下面有个回答这样: ? 根据这个回答,解释一下为什么我们测试程序没有死循环。...真不知道为什么,写出来目的万一有读者朋友知道原因的话,请多多指教。 如果要让强行给个解释的话,想会不会是 i++ 操作涉及到拆箱装箱操作,导致 CPU 有时间去刷了工作内存。

89710

#7 Python顺序、条件、循环语句

由上图可以看到,当条件为True,执行语句1和语句2,当条件为False时,只执行语句2,这就是条件语句迷人之处 代码块 细心小伙伴可能已经发现上面的新名词:代码块。...Python C Java Bye~ 输出结果 对于上面的代码,萌新肯定还有疑问,为什么num、letter、element? 关键字 in 是什么?...' Out[3]: False In [4]: 'Mi' in 'MinuteSheep' Out[4]: True 通过这段代码应该就可以理解了 while循环 while循环循环,而不像for...条件为真,执行 条件为真,执行 条件为真,执行 条件为真,执行 条件为真,执行 条件为假,该执行了 输出结果 无限循环Python中,使用 while True: 循环内容 即可实现无限循环...while循环也有简单语句组,同样也不推荐使用 循环语句嵌套 循环语句之间也是可以嵌套,两种循环语句既可以独立嵌套,也可以互相嵌套,看例: 1 # for循环嵌套 2 for i in range(10

1.4K20

Java学习笔记_零基础系列(八)Java中控制语句详解

3类: 选择语句 循环语句 转向语句 选择语句也可以叫做分支语句 if语句 switch语句 循环语句:主要循环反复去执行某段特定代码块 for循环 while循环 do..while..循环 转向语句...for循环 while循环 do..while循环 什么循环语句,为什么要使用这种语句?...因为现实世界当中,有很多事情都是需要反复/重复去做。 对应到程序当中,如果有一块代码需要重复执行,此时为了减少代码量,我们使用循环语句。...2、然后判断条件表达式 3、如果为true,则执行循环体。 4、循环体结束之后,执行更新表达式。 5、继续判断条件,如果条件还是true,继续循环。 6、直到条件为false,循环结束。...--- 推荐给大家个比较详细Java零基础教程,下面这个看过觉得挺不错,值得观看收藏。

29330

Python-基础03-流程控制

即使小白你,也觉得太low了是不是,以后要修改功能还得修改3次,因此记住,写重复代码程序员最不耻行为。 那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦。...输入用户名密码错误,会循环重新输入,那么如果输入正确了就会跳出循环,那用户去取钱,输入完用户名和密码就没有其他操作了么?不还得取钱么?难道说,只是为了去ATM玩一下?...那么就需要其他交互,其他操作,其他操作也需要判断有循环。...','bgx','oldboy','egon'] i = 0 while i < len(names): print(names[i]) i+=1  这是列表中,有索引情况下,...for循环次数,由被循环对象包含值个数决定while循环次数,由条件决定

38310

爬虫 (十九) 有趣例子认识 while 循环 (十)

while循环 while,翻译成中文“当...时候”,这个单词英语中,常常用来做为时间状语,while ... someone do somthing,这种类型说法有的。...,最大三次,请看官注意,while循环体中最后一句:i +=1,这就是说每次循环到最后,就给i增加1,当bool(i<4)=False时候,就不再循环了。...当bool(i<4)=True时候,就执行循环体内语句。循环体内,让用户输入一个整数,然后程序随机选择一个整数,最后判断随机生成数和用户输入数是否相等,并且用if语句判断三种不同情况。...某些情况下可以运行,为什么?看官能理解吗?都是数字时候,可以。但是,这样不好。 那么,按照这种思路,把这个猜数字程序重写一下: #!...有一个固执观念,尽量将条件循环之前做足,不要在循环中跳来跳去,不仅可读性下降,有时候自己也糊涂了。

62810

Java基础知识-循环语句使用介绍(for、while、do-while

现在在来给大家介绍一下while结构和用法: while 关键字中文意思“当……时候”,也就是当条件成立时循环执行对应代码。while 语句循环语句中基本结构,语法格式比较简单。...执行流程:执行while 语句时,首先判断循环条件,如果循环条件为false,则直接执行while 语句后续代码,如果循环条件为true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止...do-while 语句语法格式为: do{         循环体; }while(循环条件); 语法说明:do-while 语句中,循环体部分重复执行代码部分,循环条件指循环成立条件,要求循环条件...System.out.println("一定会执行一次"); i++; }while(i<5); 三种循环到此就介绍完了,现在给大家说一下三种例子具体使用场景...: 1.for一般循环个数已知情况下使用 2.while一般循环个数未知,且循环受到严格控制情况下使用

2.9K71

《笨办法学Python》 第10课手记

print persian_cat print backslash_cat print fat_cat 相比于原代码,除了第二行之外每一个转义字符后面都加了一个空格,这是一个好习惯,这样代码看起来清楚一点...作者其实也有这样习惯,但是请注意第二行,如果\n后面紧跟一个空格,那么下一行输出时候会先输出一个空格,想这就是作者为什么在用到转义字符时不加空格原因了。某些特定情况下可能会导致错误。...while True: for i in ["/","-","|","\\","|"]: print "%s\r" % i, 这一段代码也包含很多内容,它结果屏幕上看到一根不停旋转线段...首先这里用到了一个while循环,这个循环条件表达式逻辑值为真的时候执行循环体。由于条件表达式True(即为真),这个循环将永远执行。分号下面的内容表示循环体。...请注意,for和print前面的空格,print前面的空格不可省略,for前面的空格也不建议省略,这些缩进空格表示该段代码循环体或者函数一部分,再C语言中使用{}将代码括起来表示。

63080

Random高并发下缺陷以及JUC对其优化

但并不是每个人都知道Random原理,知道Random高并发下缺陷的人应该更少。这篇博客,就来分析下Random类并发下缺陷以及JUC对其优化。...(random.nextInt(100)); } 在学习编程时候,一直对JDK开发人员很不解:为什么产生随机数方法名:“”nextXXX”?...虽然英语只停留“点头yes,摇头no,来come,去go” 水平,但是知道next“下一个”意思,如果来命名,会命名为“create”,“generate”,这样不是更“贴切”吗?...true为false,退出while循环;如果seed值已经不为oldseed了,就说明seed值已经被替换过了,返回false,!false为true,继续下一次while循环。...true为false,退出while循环

87530

【实用】用 FP 思想将 JS 循环做简单封装~

「这是参与2022首次更文挑战第24天,活动详情查看:2022首次更文挑战」 ---- 本篇带来 FP 函数式编程思想在 JS【循环】中应用。...比如漏写 < 号; 如果索引 i 发生变化,循环就会造成错误(那为什么i 容易发生变化呢?...因为对于循环来说,比如 while 结构,索引 i 外部变量,外部变量修改不受循环内部所控制;) 代码太长了,循环结构有可能比操作功能代码都长; 所以,我们尝试用 FP 函数式编程思路对循环做下改造...只要 Fn 函数返回 false ,循环将继续;当它返回 true 时,循环将结束。...---- OK,以上便是本篇分享~ 掘金安东尼,输出暴露输入,技术洞见生活,再会~~

98630

python学习笔记(第一章)

好了进入正题 while循环 bingo = '天钧好帅' name = input("请输入天钧最想听一句话") while True: if name == bingo:...while结构如下 while 循环条件: 循环体 注意到一个现象没有,它没有大大小小括号显得代码很干练,那它怎么识别条件语句与循环呢,答案空格,这里空格严格要求,建议同体代码使用...输出了空格每个数之间 range() 这个 for 好伙伴哦 for i in range(1,33,4): print(i) 那么这个函数是什么意思呢,书上没过多解释,理解就像枪一样,...就这样像子弹一样发射出去,大家有没有发现一个有趣事情,为什么5最后到4就停止发射了呢,这是因为range从0开始数一共5个数,所以到4就停止了。...每个结果等差为4哦 break语句 break语句执行到break时跳出 这里break和C语言一样跳出循环如下 i = 0 while i < 10: if (i == 8):

51420

并发编程中大坑:你直觉&有序性问题

03 指令重排导致直觉失效 我们直觉以及多年程序员经验,单线程场景中正确多线程场景中不适用。...例如 我们书写顺序: data=666; isReady=true; 而真实执行顺序可能: isReady=true; data=666; 调整顺序后,单线程上执行没有任何后遗症,例如单线程执行...04 更匪夷所思编译器优化 前面我们基于jcstress测试程序没有使用while()循环来检查isReady,而是用了if()语句,为什么要做这种替换呢?...,想你应该猜到发生什么了,死循环发生了。...上面的代码 while (!isReady) {}; 上死循环,再没机会跳出了。 怎么会这样?actor1()可能会慢于actor2()执行,但也定也慢不过1秒,那为什么会发生死循环呢?

48020

预备小菜:Python入门之控制语句

控制语句实现对程序流程选择、循环和返回等进行控制,之前代码示例中用到比较多if和for,分别是达到选择和循环效果。...老公甚恐,喃喃道:因为真看到卖西瓜了。 虽然这是一个笑话,但是代码中真的这样执行。生活中有很多结论需要前提条件成立才可以得到,如果不成立就是另外一个结果。...Python中,条件语句通过一个或者多个语句结果决定是否继续执行后面的代码,用简单流程图演示执行过程如下。...循环语句 之前示例中,出现几次for语句就是循环语句,它是根据条件是否成立来一次或者多次执行代码,流程图演示如图所示。 Python中除了for循环,还有一种while循环。...for循环可以循环任何序列对象,比如说列表、元组、字符串等等。while循环用于执行需要重度执行代码,只要条件成立就会一直执行。

33820

兄dei,你被代码死循环坑了吗?

很多朋友看到这里,心想这种错误肯定不会犯。不过需要特别说明,这里举例子相对来说比较简单,如果i>10这里个非常复杂计算,还真说不准一定不会出现死循环。...想法,但是实际上这段代码会进入死循环,不会因为flag变成false而自动退出。 为什么会这样? 线程间flag不可见。...❝我们都需要注意:while循环中使用list.iterator().hasNext(),个非常大坑,千万小心。...对spring循环依赖问题有兴趣朋友,可以看看我之前写一篇文章《spring:如何解决循环依赖?》。...,比如:Timer类底层,也是用了while(true)无限循环(也就是死循环)来实现

2K20
领券