【问题标题】:I have a complication about Python's for in loop我对 Python 的 for in 循环有疑问
【发布时间】:2019-01-07 17:15:24
【问题描述】:

我想创建一个程序来理解你写的名言并显示第一个字母高于“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=""

【问题讨论】:

  • 那么这里的问题到底是什么?解决你的难题?为您指明正确的方向?另外,如果你想取在'g'之前有第一个字母的单词,那么你为什么要检查第一个字母是否比h“大”?这不是 h 之后而不是之前的一切吗? if letter.lower()&gt;= "h":
  • 我的错误是我希望它们高于 g。

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


【解决方案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”的字母开头的单词。

【讨论】:

  • 我很确定他想打印出以 G 之前的一个字母开头的整个报价。
  • 我希望程序识别首字母高于 g 的单词,然后以大写字母列出它们,而忽略其他单词。我希望这更清楚。
【解决方案2】:

朱利叶斯就在附近,但不是你想要的。由于您希望打印出整个单词(不仅仅是 G 之前的第一个字母),因此您可以这样做:

# 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 += quote + " "


print (out)

【讨论】:

  • 我希望程序识别首字母高于 g 的单词,然后以大写字母列出它们,而忽略其他单词。我希望这更清楚,
【解决方案3】:

好的,在 chromaerrors 回答后,我将第 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的单词。

感谢所有帮助。 :)

【讨论】:

  • 您能接受@chromaerror 的回答吗,因为它基本上是一样的。太好了,无论如何你都可以解决问题。
猜你喜欢
  • 2022-12-13
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多