簡體   English   中英

Python while 循環字符串

[英]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_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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM