赵从文芜湖123 发表于 2021-8-25 16:22:49

python

s = input("请输入一个中文字符串,包含逗号和句号:")
sum = 0
for i in s:
    if i ==',':   
      sum = sum + 1
    if i =='。':
      sum = sum + 1
print(sum)



a = 0
for i in s:
    if i ==',' or '。':   
      a = a + 1
print(a)


输入为‘没有人不爱惜他的生命,但很少人珍视他的时间。’

sum = 2
a = 22
请问为什么?

hrpzcf 发表于 2021-8-25 16:25:42

if i ==',' or i =='。':

不该省的不能省

Rosy7673 发表于 2021-8-25 18:06:58

hrpzcf 发表于 2021-8-25 16:25
if i ==',' or i =='。':

不该省的不能省

学到了!({:5_104:})

赵从文芜湖123 发表于 2021-8-25 19:48:11

hrpzcf 发表于 2021-8-25 16:25
if i ==',' or i =='。':

不该省的不能省

那请问,22是咋算出来的?

hrpzcf 发表于 2021-8-25 20:10:29

赵从文芜湖123 发表于 2021-8-25 19:48
那请问,22是咋算出来的?

if i ==',' or '。':

先i == ',' 可能为True或者False
接下来True or '。'为True
或者False or '。'也为True(非空字符串可以判为True)

所以遍历时,不管i的值是什么,结果总是True,相当于计算字符串的字符个数了,字符个数为22

赵从文芜湖123 发表于 2021-8-25 20:32:16

hrpzcf 发表于 2021-8-25 20:10
if i ==',' or '。':

先i == ',' 可能为True或者False


嗯嗯,晓得了
页: [1]
查看完整版本: python