请教老师个问题,这个程序我这么写可以吗
def toUppers(L):
for x in L
if isinstance(x,str)==true:
return x
print toUppers(['Hello', 'world', 101])
def toUppers(L):
for x in L
if isinstance(x,str)==true:
return x
print toUppers(['Hello', 'world', 101])
2015-07-13
不是老师,希望不要介意。你的程序语法和逻辑上不正确:1.for语句最后少了冒号":",应为for x in L : 2.isinstance(x,str)这个方法的返回值本身就是布尔类型的, (你这里没必要再一次判断是否等于True,况且python里面不是小写true,注意T大写)3.如果符合if条件,那么你的结果只有第一个是字符串的list元素变成了大写,因为这里return语句之后就会跳出循环,结束调用。如果要按照你的思路实现,代码应该是这样的:
def toUpper(L):
l = []
for x in L:
if isinstance(x,str):
l.append(x.upper())
else:
l.append(x)
return l
最后,要想知道自己的代码是否正确,你自己跑一下代码就知道了。
举报