【问题标题】:How to get the result from a loop in (python)如何从(python)中的循环中获取结果
【发布时间】:2015-11-02 16:02:37
【问题描述】:

我做了一个程序,如果有任何大写字母,它将所有单词都更改为大写,否则如果没有大写单词,它会再次打印而不更改,所以我写了这段代码

def capital(n):
for word in n:
    if word==word.upper():
        print n.upper()
    else:
        print n
n=raw_input()
print capital(n)

当我使用 print 而不是 return 时,输出是这样的

capsLock # if i use return it pritn the first result only 
capsLock
capsLock
capsLock
capsLock
CAPSLOCK  # i want this result when it change all letter to capital words
capsLock
capsLock
capsLock
None

如果我使用 return 它只给我第一个结果我应该做什么

【问题讨论】:

  • 构造一个新列表[s.upper() for s in n],并打印出来。或者使用map:map(lambda x:x.upper(), n)
  • @MarounMaroun 如果你要去map,只需使用map(str.upper, n)
  • @jonrsharpe 我每天都在学习新东西 :) 谢谢。

标签: python python-2.7 loops for-loop


【解决方案1】:

你可以这样做:

def capital(n):
    for word in n:
        if word==word.upper():
            return n.upper()
    return n

n=raw_input()
print capital(n)

一旦找到大写字母就停止循环,否则返回原始单词。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2018-11-28
    • 2013-04-20
    • 2017-02-07
    • 1970-01-01
    • 2021-03-17
    相关资源
    最近更新 更多