簡體   English   中英

在 while 循環中將字母附加到列表中

[英]Appending letters to a list in a while loop

我正在嘗試將句子的第一個單詞附加到一個空列表中。 當前代碼如下:

sentence = input("Enter sentence: ")

subject = []
print (subject)

x = 0
while True:
    letter = sentence[x]
    if letter != " ":
        print (letter)
        subject.append(letter)
        x = x + 1

print (subject)

它目前打印:

Enter sentence: Cherries are red fruit

[]
C
h
e
r
r
i
e
s

它似乎忽略了我將結果附加到空列表的嘗試...請幫助!

你最好使用for循環,它不容易出錯:

sentence = input('Enter sentence: ')

subject = []
print(subject)

for letter in sentence:
    if letter == ' ':
        break
    else:
        print(letter)
        subject.append(letter)

print(subject)

如果你想把一個句子分成單詞,有一個str.split方法,它可以在簡單的情況下幫助你:

words = sentence.split()
first_word = words[0] if words else None
print(first_word)

為什么不使用split()函數而不是一次附加一個字母:

sentence = input("Enter sentence: ")
split_sentence = sentence.split(" ")
subject = []
subject.append(split_sentence[0])
print (subject)

或者更簡單:

sentence = input("Enter sentence: ").split(" ")
subject = []
subject.append(sentence[0])
print (subject)

或者即使您只想要一個輸入,您也不必附加

sentence = input("Enter sentence: ").split(" ")
subject = sentence[0]
print (subject)

split() ,拆分由參數定義的字符串並返回一個列表。

使用 while 循環:

sentence='Nice weather outside'
subject = []
x = 0
while x < len(sentence):
    letter = sentence[x]
    subject.append(letter)
    x = x + 1
print(subject)

暫無
暫無

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

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