Python while循环使用字符串

时间:2015-01-27 08:24:06

标签: python string loops while-loop

string = "Northeastern Africa"
myString = string.lower()
index = 0
num_index = int(index)

length = len(myString)
num_length = int(length)
num_length = num_length - 1

while myString[num_index] >=  myString[18]:
    print(num_index)
    print(num_length)
    print(myString[num_index])
    print(num_index)
    num_index = num_index +1
    print(myString[0:num_index])
    print(" ")

为什么它只打印"东北"并停在下一个空间?如何让它通过完整的字符串而不停在两个单词之间的空格?

2 个答案:

答案 0 :(得分:0)

您的while循环将每个字符与最后一个a进行比较,当它找到不等于或高于a的字符时停止。您的代码在空格处停止,因为后者在ASCII表中的位置是32:

>>> ' ' < 'a'
True
>>> ord(' ')
32
>>> ord('a')
97

您可能想要创建一个循环,将num_indexnum_length进行比较:

while num_index <= num_length:

如果您想遍历字符串中的所有字符,只需使用for循环:

for character in myString:
    print(character)

您可以使用enumerate()功能添加索引:

for index, character in enumerate(myString):
    print(index, character, sep=': ')
    print(myString[:index])

答案 1 :(得分:0)

因为myString[num_index]值是空格 检查这个..

>>> " ">="a"
False