簡體   English   中英

for 循環如何處理 python 中的字符串值?

[英]How do for loops work with string values in python?

我對使用字符串處理循環感到困惑。

s=input("enter a lowercase word")

counter = 0

n=0

for var in s:
    letter = s[n:var+1]

if letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u':

    counter += 1

n += 1 

print('Number of vowels:', counter)

  iteration = 0

count = 0

   while iteration < 5:

      for letter in "hello, world":

      count += 1

   print("Iteration " + str(iteration) + "; count is: " + str(count))

   iteration += 1

第一個代碼給出錯誤“TypeError:'str' object 不能被解釋為整數”,而第二個代碼工作正常。 我認為for循環計數字符串如下:“apple”中的for變量等同於range(5)中的變量,0鏈接到a,1鏈接到p,2鏈接到p,3鏈接到l,4鏈接到e。 不是這樣嗎?

我認為for循環計數字符串如下:“apple”中的for變量等同於range(5)中的變量,0鏈接到a,1鏈接到p,2鏈接到p,3鏈接到l,4鏈接到e。 不是這樣嗎?

不, for var in "apple"可以用作“a”、“p”、“p”、“l”、“e”。 因此,您的帶有letter = s[n:var+1]的代碼將不起作用。

s=input("enter a lowercase word")

counter = 0

for letter in s:
    if letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u':
        counter += 1

print('Number of vowels:', counter)

如果您還想要一個數字(例如 0、'a'、1、'p'、2、'p' 等),請使用enumerate()

for idx, var in enumerate("apple"):
    print(idx, var)

0 a
1 p
2 p
3 l
4 e

暫無
暫無

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

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