import string
def solution(s):
ans="flase"
l=[i for i in s]
for i in s:
if(i.isalnum()):
ans="true"
break
return ans
s="harnath"
print(solution(s))
如果任何字符是isalnum(),否则我想返回True
答案 0 :(得分:0)
是的,您可以使用三元运算符在1行中重写此代码:
>>> s="harnath"
>>> result = "true" if any(letter.isalnum() for letter in s) else "flase"
>>> print(result)
true
但是,正如评论中提到的那样,返回“ true”或“ flase”(带有错字)作为字符串值可能是一个坏主意。您可能想返回一个正确的布尔值:
>>> s="harnath"
>>> result = any(letter.isalnum() for letter in s)
>>> print(result)
True
在这种情况下,无需使用三元运算符。 any()
函数的结果已经是布尔值