| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 weijia910512 于 2023-1-28 19:25 编辑  
 
看了30题的动手题答案,甲鱼用了strip这个方法去判断最终成功解题,这是它的代码 
- words = ["Twitter", "TOTO", "FishC", "Python", "ASL"]
 
  
- res = []
 
 - for i in words:
 
 -     # 由于单词存在大小写,所以这里统一先转换为小写字母
 
 -     j = i.lower()
 
 -     # 灵活运用 strip() 方法,判断 j 是否所有字符都在键盘的同一行内
 
 -     if j.strip("qwertyuiop") == '' or j.strip("asdfghjkl") == '' or j.strip("zxcvbnm") == '':
 
 -         res.append(i)
 
  
- print(res)
 
  复制代码 
 
''twitter''.strip('qwertyuiop') 
这个判断完了给出'',说明单词里的每个元素都被右边的条件找到了,于是都被剔除然后返回'' 
但是当我用''weijia''.strip('qwertyuiop')的时候,我以为他应该会返回'ja',因为另外四个字符串'weii'都在右边括号里的条件内被找到并且剔除了,可是python给我返回的却是'jia',我就非常纳闷,为啥还给我返回i?这个i不是应该被剔除吗?两个i都能在我定义的筛选了表范围内呀?难道只能筛选一次?第二次出现同样的不剔除?那为啥twiiter这里的两个i都能被剔除? 
我自己用IDE试了很多次,确实一头雾水,不知道他的strip的判定依据是什么 
strip()的特点是保留中间,头尾有符合规则的删除,从两头向中间看,两头符合的切去,只要有一个不符合的就开始保留。这样就好理解了。 
 
 
 |   
- 
1 
 
 
 
 
 
 
 
 |