【问题标题】:Python exercise - don't understand how this is workingPython 练习 - 不明白这是如何工作的
【发布时间】:2023-02-02 18:50:30
【问题描述】:

我在思科培训中遇到了这个问题。我得到了答案,但不明白为什么会这样。为什么 python 在每次“继续”后删除元音?

user_word = input("Enter your word: ")
user_word = user_word.upper()

for i in user_word:
    if i == "A":
        continue
    elif i == "E":
        continue
    elif i == "I":
        continue
    elif i == "O":
        continue
    elif i == "U":
        continue
    else:
        print(i)

【问题讨论】:

标签: python python-3.x


【解决方案1】:

它不会“删除”它们,只是不会print()它们。

对单词中的每个字符执行循环。如果它是元音字母,则当前迭代结束(请参阅continue 语句)并考虑下一个字符。如果它不是元音,它会被打印到输出中,您可以“看到”它。

【讨论】:

    【解决方案2】:

    原因如下:

    contunue表示跳过循环,实际上是这样的:

    continue 语句,也是从 C 中借用的,继续循环的下一次迭代

    所以任何元音 a, e, i, o, u 都会被跳过,任何辅音都会被打印出来。

    例如,如果您将 continue 关键字替换为您自己的函数,您会更清楚地看到:

    user_word = input("Enter your word: ")
    user_word = user_word.upper()
    
    # a new function to replace continue
    def replace_continue():
        print('vowel is found')
    
    
    for i in user_word:
        if i == "A":
            replace_continue()
        elif i == "E":
            replace_continue()
        elif i == "I":
            replace_continue()
        elif i == "O":
            replace_continue()
        elif i == "U":
            replace_continue()
        else:
            print(i)
    

    试试这段代码,它应该更明显。

    这是文档的链接: https://docs.python.org/3/tutorial/controlflow.html

    【讨论】:

      猜你喜欢
      • 2022-11-21
      • 2013-10-22
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多