python - while 循环未在更改测试条件时终止
问题描述
案例 1 在第一个循环上终止,这是有道理的,但是案例 2 没有,即使在输入 5 之后也是如此?为什么不?我为排除故障所做的工作:最初我怀疑它可能与在每个循环上创建的不同“x”变量有关,也许?但这似乎没有意义,因为如果每次迭代都创建了不同的变量,我们将永远无法更新计数。范围/命名空间?不应该与案例1不同,据我所知不同的参考?我打印了这两种情况的 id(),新分配的“x”变量存储在不同的位置。因此,这似乎与问题无关。
有什么帮助吗?
情况1
x = 8
print('initial x', x, id(x))
while (x != 5):
x = 5
print('final_x', x, id(x))
案例2
x = 8
print('initial x', x, id(x))
while (x != 5):
x = input("Please enter the number 5: ")
print('final_x', x, id(x))
解决方案
推荐阅读
- r - 根据 R 中的值绘制具有条件颜色的数据
- python - 这段代码中查找素数分解有什么问题
- swiftui - 带有 ScrollView 和 PageTabViewStyle() 的 SwiftUI NavigationView
- python - 如何在分类数据上与 seaborn 聊天获取标签值
- python - 随机字母生成器卡在最后一次迭代中
- bash - 如何设置 noclobber 选项而不将其登录到已设置的控制台?
- java - JenkinsFile - 无法调用 java 类函数。CpsCompilationErrorException - 无法解析类
- postgresql - 如果满足两个条件中的任何一个(一个在 WHERE 子句中,另一个在 HAVING 子句中),则选择行
- flutter - 动画列表中的颤振关闭项目无法正常工作
- javascript - 如何将 NodeJS 查询分配给全局数组变量?