【发布时间】: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