[英]Python while loop with string
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(" ")
為什么它只打印“東北”並停在下一個空間? 我如何讓它通過完整的字符串而不停在兩個單詞之間的空格處?
你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])
因為myString[num_index]
值是空格檢查這個..
>>> " ">="a"
False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.