Python 为什么while循环不';t在另一个回路内工作(范围内)

Python 为什么while循环不';t在另一个回路内工作(范围内),python,python-3.x,loops,while-loop,python-3.7,Python,Python 3.x,Loops,While Loop,Python 3.7,我想使用运行函数(def)100次,同时使用(数字从0到1000000) 但是while在需要时不会中断循环。 我怎样才能修好它 count=2#我故意从2开始 极限=101 def是_prime(i): 全局计数 计数+=1 #函数is_prime有更多的含义,但它不相关 #我制作了一个带有输入的函数来显示一个示例 而(计数

我想使用
运行函数(def)100次,同时使用
(数字从0到1000000)

但是
while
在需要时不会中断循环。 我怎样才能修好它

count=2#我故意从2开始
极限=101
def是_prime(i):
全局计数
计数+=1
#函数is_prime有更多的含义,但它不相关
#我制作了一个带有输入的函数来显示一个示例
而(计数<限制):
对于范围内的i(1000000):
is_素数(i)
打印(“count=”,count)

我希望当它达到
count
=100

时,它会停止。尝试这个方法-为了从子例程内部与全局变量交互-您需要指示它是全局变量。否则它只是与现有全局变量同名的局部函数变量

count=2#我故意从2开始
极限=101
def是_prime(i):
全局计数
计数+=1
#函数is_prime有更多的含义,但它不相关
#我制作了一个带有输入的函数来显示一个示例
而(计数<限制):
对于范围内的i(1000000):
is_素数(i)
打印(“count=”,count)
打印(计数)

对不起,我弄错了,我已经试过了,但忘了把它放在代码里。不幸的是,它不起作用……但它限制了while循环,为什么从您的角度看它不起作用?也就是说,您希望在结果方面有什么不同?从我的角度来看,它不起作用,因为while条件为False之后循环没有“中断”(停止)。我没有收到任何错误,它只是继续foreverIt做的,它只是首先执行内部for,一旦for完成,重新评估条件,而您在其中更改了它,问题就无法重现。代码没有挂起。
内部
for
循环不关心外部while循环的退出策略,因此它将一直持续到结束(
范围(1000000)
,在您的情况下),然后
while
循环退出。