经过调试我发现,判断汉字和标点符号的两个函数没有问题,问题出在if判断true or false那里,无论用==还是is,都会直接将布尔类型赋为true,我实在不知道怎么改了。
为什么判断Ture or False时会把Ture赋上去,该怎么改?
经过调试我发现,判断汉字和标点符号的两个函数没有问题,问题出在if判断true or false那里,无论用==还是is,都会直接将布尔类型赋为true,我实在不知道怎么改了。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度