checkio("aaaaaaaaaaaaaaaaaaaaa")我的return 应该是False?为什么网站说是true

图片描述

num=[]
low=[]
cap=[]
def checkio(data):   
    for i in data:
        a=i.isdigit()
        if a == True:
            num.append(i)    
    for i in data:    
        a = i.islower()        
        if a == True:        
            low.append(i)
    for i in data:
        a = i.isupper()
        if a == True:                
            cap.append(i)       
    if num and low and cap != []:
        if len(data) >= 10:
            return True          
        else:
            return False          
    else:
        return False
阅读 3.1k
1 个回答

这是因为CheckiO测试环境和本地不同。全局变量之前多次测试初始化一次。第二测试使用由第一测试改变了全局变量。
解决方法是:

def checkio(data):

num=[]
low=[]
cap=[]

ps: 这是https://checkio.org/ 的一个测试题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题