(๑•̀㉨•́ฅ✧ 璐  2025-11-15 19:23 采纳率: 100%
浏览 11
已结题

为什么第一行打印的结果是False?

img

只是习惯在打完一个字母或者一个汉字之后,按一下空格键。不知道为什么第二行打印的结果是对的,但是第一行打印的结果是错的。

  • 写回答

5条回答 默认 最新

  • a5156520 2025-11-15 19:41
    关注

    因为' 冰 '(最前面和最后面有个空格) 这个字符串,没有在字符串' 冰冰 '(同样最前面和最后面有个空格) 中出现,所以打印出的就是False;

    判断字符串时,会将里面的空格和汉字一起作为一个整体来判断。

    测试如下:

    参考链接:


    name=' 冰冰 '
    #print(' six ' in name)
    #print(' 冰冰 ' in name)
    #print(' 冰水 ' in name)
    
    # https://www.cnblogs.com/liusingbon/p/13166488.html
    # https://www.runoob.com/python3/python-substring-check.html
    # 因为字符串' 冰 ',不是字符串' 冰冰 '的子串
    # 所以打印的是False, 判断字符串时,
    # 会将汉字'冰'前后的空格,和汉字'冰'作为一个整体来判断
    # 而它在字符串name并不存在,所以打印的就是False
    print(' 冰 ' in name)
    
    # 如果将' 冰冰 '改为' 冰 冰 ',则打印的是True
    # 因为字符串' 冰 '这个整体,在字符串' 冰 冰 '中是存在的
    print(' 冰 ' in ' 冰 冰 ')
    print('冰' in name)
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 已采纳回答 12月21日
  • 创建了问题 11月15日