Skip to main content
 首页 » 编程设计

python之嵌套的 While 循环不起作用

2025年05月04日16落叶无声

我正在尝试使用 while 循环来查找两个值之间的匹配项。一个是静态的,而另一个是列表中的条目。这是代码:

 while count != 10: 
 
    for x in rawinput[pos]: 
       a = ord(x) 
       hash = hash + a 
 
    print hashlist[247] 
    print hash 
    print wordlist[247] 
 
    while hash != hashlist[247]: 
       pass 
 
 
    print wordlist[247] 
    hash = 0  
    count = count + 1 

实际上,hash 确实等于 hashlist[247],但 python 没有识别它并使用 print wordlist[247] 继续代码,而是卡在嵌套的 While 循环中。有什么想法或建议吗?

谢谢!

编辑:修复了缩进并删除了不相关的变量。

编辑 #2:所有变量都在脚本的前面定义。这只是给我带来麻烦的一小段代码。 Hash 和 Hashlist[247] 相等(print hash 和 print hashlist[247] 各自给出 848 作为输出)。

编辑 #3:已解决——感谢您的帮助!

请您参考如下方法:

您发布的代码没有嵌套任何 while 循环。

while count != 10: 
 
    for x in rawinput[pos]: 
       a = ord(x) 
       hash = hash + a 

这是唯一相关的代码。这是一个无限循环,假设计数不是从 10 开始的。