因此,问题是,当我们输入任何字符串时,对于下面给出的情况,如果输出为True,则输出必须返回True,否则返回False。 情况包括:检查输入的字符串是否为字母数字,字母,数字,小写字母,大写字母。
我尝试将qA2
作为输入字符串。
def anum(string):
if s.isalnum():
return 'True'
else:
return 'False'
def alpha(string):
if s.isalpha():
return 'True'
else:
return 'False'
def digi(string):
if s.isdigit():
return 'True'
else:
return "False"
def lcase(string):
if s.islower():
return 'True'
else:
return 'False'
def ucase(string):
if s.isupper():
return 'True'
else:
return 'False'
实际输出:true,false,false,false,false.
预期输出:true,true,true,true,true.
答案 0 :(得分:0)
使用any()
运算符和for
来检查以上条件对于您的字符串是否有效。
for循环检查字母是否满足strin中的条件并创建生成器。
在您的情况下,行if any(i.isalpha() for i in string)
将首先求值(i.isalpha() for i in string)
并创建一个生成器(如果将其转换为列表,它将类似于[True, True, False]
)。
any
运算符将检查列表中是否有True值(如果是),则将if
条件评估为True
。
def anum(string):
if any(i.isalnum() for i in string):
return 'True'
else:
return 'False'
def alpha(string):
if any(i.isalpha() for i in string):
return 'True'
else:
return 'False'
def digi(string):
if any(i.isdigit() for i in string):
return 'True'
else:
return "False"
def lcase(string):
if any(i.islower() for i in string):
return 'True'
else:
return 'False'
def ucase(string):
if any(i.isupper() for i in string):
return 'True'
else:
return 'False'
答案 1 :(得分:0)
由于它检查整个字符串以确定输入类型,因此它说给定的输入是字母数字
try giving
s[1].isupper()
output:
true
s[2].isdigit()
output:
true