m0_74261073 2022-12-16 15:03 采纳率: 100%
浏览 16
已结题

为什么判断Ture or False时会把Ture赋上去,该怎么改?

img

img

img

img


经过调试我发现,判断汉字和标点符号的两个函数没有问题,问题出在if判断true or false那里,无论用==还是is,都会直接将布尔类型赋为true,我实在不知道怎么改了。

  • 写回答

2条回答 默认 最新

  • 奔波儿灞8708 2022-12-16 15:24
    关注

    从你代码和截图看,计算并没有问题,第二个方法只能计算英文的标点符号,你字符串的是中文符号,所以标点是0个,改成英文符号就可以计算出来了。

    
    
    ```python
    from string import punctuation
    def is_Chinese(uchar):
        if uchar >= u'\u4e00' and uchar <= u'\u9fa5':
            return True
        else:
            return False
    
    
    def is_zh_punctuation(w):
        punctuation_str = punctuation
        if w in punctuation_str:
            return True
        else:
            return False
    
    s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
    m=0
    n=0
    for a in s:
        if is_Chinese(a):
            m += 1
        else:
            if is_zh_punctuation(a):
                n +=1
    
    print(f"在s中有{m}个中文字符和{n}个标点符号。")
    
    
    C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\python.exe E:/testTools/software_test/test.py
    在s中有30个中文字符和6个标点符号。
    
    Process finished with exit code 0
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月16日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度