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(" ")
为什么它只打印"东北"并停在下一个空间?如何让它通过完整的字符串而不停在两个单词之间的空格?
答案 0 :(得分:0)
您的while
循环将每个字符与最后一个a
进行比较,当它找到不等于或高于a
的字符时停止。您的代码在空格处停止,因为后者在ASCII表中的位置是32:
>>> ' ' < 'a'
True
>>> ord(' ')
32
>>> ord('a')
97
您可能想要创建一个循环,将num_index
与num_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