簡體   English   中英

使用“while”和“continue”的無限循環

[英]Infinite loop using 'while' and 'continue'

列表歌曲包含“Baby Shark”的台詞。 在循環內逐行輸出歌曲歌詞,但跳過行do do,do do do do。

song = ['Baby shark', 'do do, do do do do',
  'Baby shark', 'do do, do do do do',
  'Baby shark', 'do do, do do do do',
  'Baby shark',
  'Mama shark', 'do do, do do do do',
  'Mama shark', 'do do, do do do do',
  'Mama shark', 'do do, do do do do',
  'Mama shark']

    songs = ''
    i = 0
    while i < len(song):
      if song[i] in ('d',',', 'o')
        i += 1
        continue
      songs += song[i]
      i+= 1
    print(songs)

這是我寫的循環,但它為我的“if song[i] in ('d', ',','o') 行代碼拋出了一個語法錯誤。

我知道內容很愚蠢,但這是問題之一,我真的在為循環而苦苦掙扎。

你的 if 語句是

if song[i] in ('d', ',', 'o'):

在這里,您檢查所有歌曲是否都是這些字母之一。

例如:檢查'Baby shark'是否是其中之一('d', ',', 'o')


所以我稍微改變了 if 語句來做類似的事情

if 'do do' in song[i]:

它檢查子字符串'do do'是否在song字符串中

例如:檢查'do do'是否在'do do, do do do do'

song = [
    'Baby shark',
    'do do, do do do do',
    'Baby shark',
    'do do, do do do do',
    'Baby shark',
    'do do, do do do do',
    'Baby shark',
    'Mama shark',
    'do do, do do do do',
    'Mama shark',
    'do do, do do do do',
    'Mama shark',
    'do do, do do do do',
    'Mama shark'
]

# removed indentation
songs = ''

i = 0

while i < len(song):
    # edited the if statement and added the ":"
    if 'do do' in song[i]:
        i += 1
        continue
    songs += song[i]
    i+= 1
print(songs)

暫無
暫無

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

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