带字符串的Python while循环

2024-04-18 16:47:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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(" ")

为什么它只打印“东北”并停在下一个空格?我如何使它穿过整串而不停留在两个词之间的空白处?


Tags: stringindexlenlowerlengthnumint空格
2条回答

您的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])

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

>>> " ">="a"
False

相关问题 更多 >