【问题标题】:While loop doesn't stop when space is encountered遇到空间时,while循环不会停止
【发布时间】:2018-06-29 05:22:05
【问题描述】:

我有这个:

subString = ""                      
for i in range(0,len(string)):
    while string[i].isspace() != True:  # The important part.
        subString += string[i]

print subString

我正在尝试编写一段代码来打印一个子字符串,该子字符串包含另一个字符串的所有字符,但不包括第一个空白字符。我认为我在while 循环中设置的条件可以做到这一点,但是当我运行程序时,当它到达那个部分时,它永远不会退出循环。怎么了?

【问题讨论】:

  • 试着在你的脑海中追踪程序。你希望它做什么?

标签: python while-loop


【解决方案1】:

您永远不会在 while 循环中更改变量 i,因此表达式 string[i].isspace() 的值永远不会改变。这会导致无限循环。

【讨论】:

  • 为什么for循环不会导致i的值发生变化?
  • while 循环只是检查条件。它不会改变任何变量的值。
【解决方案2】:
subString = ""                      
for c in string:
    if c.isspace():
        break
    subString += c

print subString

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 2021-08-18
    • 2016-06-21
    • 1970-01-01
    • 2019-01-29
    • 2013-11-22
    • 2013-03-12
    • 2020-03-23
    • 1970-01-01
    相关资源
    最近更新 更多