清芷在沅湘 发表于 2021-9-28 21:29:47

50鱼币悬赏!!!!!字符串中符号判定的问题

如图是我编写的统计字符串的代码,但是为什么会将字符串中的其他符号识别为4个我百思不得其解,希望大佬解答!!拜谢!

清芷在沅湘 发表于 2021-9-28 21:32:50

我明白了!是if 与 else 的配对问题

清芷在沅湘 发表于 2021-9-28 21:33:30

同志们 回帖仍可领取鱼币哦!!! 白给啦

jackz007 发表于 2021-9-28 21:45:53

    for s in str:
      if s . isalpha() : count_alpha += 1
      elif s . isdigit() : count_digit += 1
      else : count_other += 1

大马强 发表于 2021-9-28 21:47:53

{:10_256:}

a327904410 发表于 2021-9-28 21:49:43

{:10_256:}

大马强 发表于 2021-9-28 21:56:50

楼上正解
我来补充下
出现这个原因是因为你的第二个if 和 那个else 配对了
由于是if else 搭配,所以你的每次迭代 count_digit 和 count_other 总会执行一个,两个相加等于7 也正好等于字符串总长
所以解决方案有两个
第一是 if elifelse 组合
if x1:
y1
elif x2:
y2
else:
y3

第二种就是用三个if独立判断
if x1:
yi
if x2:
y2
if x3:
y3
这两个都有可取之处,但就这道题而言,第一种比较好点,每次最多判断三次,而第二种每次都要判断3次,前者效率会比后者高

hrpzcf 发表于 2021-9-28 22:01:36

第二个if改成elif

深谙流年 发表于 2021-9-29 00:18:15

蹭个币{:10_277:}

咸咸的墨 发表于 2021-9-29 00:37:45

楼主厉害了

myqf123 发表于 2021-9-29 09:38:59

if,else配对问题正解

可乐不冰怎么喝 发表于 2021-9-29 14:07:22

牛啊

Angelina_Jolie 发表于 2021-9-29 18:43:51

{:9_241:}

小薛王 发表于 2021-9-30 08:16:57


蹭个币

哈哈哈ha1 发表于 2021-9-30 08:24:08

蹭个币

海岛 发表于 2021-9-30 08:41:12

学习了学习了

万恶的亚撒西 发表于 2021-9-30 10:02:16

{:10_266:}

江湖散人 发表于 2021-9-30 13:40:44

学习学习

ak--47 发表于 2021-9-30 14:58:33

.

ibm1689 发表于 2021-9-30 20:33:53

python语法非常讲究缩进,缩进不对,程序就出错{:10_256:}
页: [1] 2
查看完整版本: 50鱼币悬赏!!!!!字符串中符号判定的问题