微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么这段代码会经历无限?

如何解决为什么这段代码会经历无限?

为什么下面的代码会无限循环? 第一次返回是9 它不再等于 10。 我无法得到它。 有人能简单解释一下吗?

n = 10
while True:
    print(n,end=' ')
    n = n - 1
print('Done!')

解决方法

while True 永远存在,因为 True 永远是 True

如果您想在 n 变为 0 时结束循环,请尝试:

n = 10
while n > 0:
    print(n,end=' ')
    n = n - 1
    print('Done!')

输出:

10 Done!
9 Done!
8 Done!
7 Done!
6 Done!
5 Done!
4 Done!
3 Done!
2 Done!
1 Done!
,
n = 10                  # Here you are initializing the variable n as 10
while True:             # Now you are saying,while True (this means forever because you are saying,as long True is true,do this)
    print(n,end=' ') 
    n = n - 1
print('Done!')

我相信你想验证 n 等于 10,所以,条件必须改变:

n = 10                  # Here you are initializing the variable n as 10
while n = 10:           # Now you are saying,while n = 10 (this means only once because the loop changes the value of n)
    print(n,end=' ') 
    n = n - 1
print('Done!')
,

你使用 while True 没有 break 语句 用这个

n = 10
while n>0:
    print(n,end=' ')
    n = n - 1
    print('Done!')

n = 10
while True:
    print(n,end=' ')
    n = n - 1
    print('Done!')
    if(n==0):
        break;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。