我对Python的for in循环感到困惑

时间:2018-07-31 10:25:08

标签: python for-loop for-in-loop

我想创建一个程序,该程序可以理解您所写的著名引号,并显示首字母大于“ g”的单词,但是我经常遇到一些麻烦。这是我尝试的2个代码:

这是我的第一个代码;

quote=input("Please input your quotes sentence.")
word=""

for letter in quote:
    if word=="":
        word=word+letter
    elif word.lower().isalpha():
        word=word+letter
    elif word.lower().isalpha()==False:
        if word[0].lower()>="h":
            print(word.upper())
            word=""
        else:
            word=""

还有我的第二个代码;

for letter in quote:
    if letter.lower().isalpha():
        word=word+letter.lower()
    elif letter.lower().isalpha()==False:
        if letter.lower()>= "h":
            print(word.upper())
            word=""
        elif letter.lower()<"h":
            word=""

3 个答案:

答案 0 :(得分:1)

我不确定我是否理解您的问题,但是这样的事情呢?

# Input your quote here
quote = "A very import quote goes here"
out = [] # The output buffer

# Iterate over all words (seperated by <<space>>)
for word in quote.split(" "):
    if word[0].lower() < "g": out += [word]


print (" ".join(out))

以上代码将打印“ A”,因为它是唯一以小于“ g”的字母开头的单词。

答案 1 :(得分:1)

朱利叶斯(Juliusmh)就在附近,但不是您想要的。因为您希望打印出整个单词(而不仅仅是G之前的第一个字母),所以您可以进行以下操作:

ng g data-access-lib --name=data-access-myTest

答案 2 :(得分:1)

好吧,在色度错误回答之后,我将第7列中的变量“ quote”更改为word,我的问题已解决。代码是这样的:

quote = input("A very import quote goes here")
out = [] # The output buffer

# Iterate over all words (seperated by <<space>>)
for word in quote.split(" "):
    if word[0].lower() < "g": out += word + " "


print ("".join(out)) 

然后输出列出所有开头字母均小于g的单词。

感谢所有帮助。 :)