首页
学习
活动
专区
工具
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:是的,懂了吧。 小媛:问题不大。

33120

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

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

64610
  • 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

    40010

    第四章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

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

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

    92610

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

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

    54730

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

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

    31830

    #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

    Python-基础03-流程控制

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

    40710

    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一般是在循环个数未知,且循环受到严格控制的情况下使用的。

    3.2K71

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

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

    67610

    《笨办法学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语言中使用{}将代码括起来表示。

    66080

    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循环。

    90130

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

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

    1K30

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

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

    50220

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

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

    36620

    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):

    54420

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

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

    2.2K20
    领券