是张美丽啊 发表于 2020-4-19 23:05:38

python零基础入门19课课后题求助=-=

def count(*strr):#收集参数
    length=len(strr)
    for i in range(length):
      abcs=0
      nums=0
      spaces=0
      elsestrs=0
      for each in strr:
            if each.isalpha():
                abcs+=1
            elif each.isdigit():
                nums+=1
            elif each==' ':
                spaces+=1
            else:
                elsestrs+=1
      print('第%d个字符串共有英文字母%d个,数字%d个,空格%d个,其他字符%d个。'%(i+1,abcs,nums,spaces,elsestrs))
count('i love you baby 1314!','don\'t love me,ok? 1 second no','no,i refuse!')
print('don\'t love me,ok? 1 second no')

问题1:怎样才能让'don\'t love me,ok? 1 second no'这里面的\不被数进去呢?我想输入的原句应该是'don't love me,ok? 1 second no'。
问题2:可以用input输入收集参数吗?怎么写呢?{:9_241:}
{:9_228:} 先感谢回答的各位大佬哦~还望言辞和蔼些,弱小心灵怕受伤害{:9_221:}

ba21 发表于 2020-4-19 23:18:31

'don\'t love me,ok? 1 second no' 单引号中 的 引号 用\转义 没有不对。
"don't love me,ok? 1 second no"

input输入收集参数
https://blog.csdn.net/sinat_25772833/article/details/90711737

是张美丽啊 发表于 2020-4-19 23:21:12

ba21 发表于 2020-4-19 23:18
'don\'t love me,ok? 1 second no' 单引号中 的 引号 用\转义 没有不对。
"don't love me,ok? 1 second no ...

好像是哦,感谢感谢!

txxcat 发表于 2020-4-19 23:41:06

转义符不会算进去,你的代码错了一个地方,input收集参数看下方:
def count(*strr):#收集参数
    length=len(strr)
    for i in range(length):
      abcs=0
      nums=0
      spaces=0
      elsestrs=0
      for each in strr:      #你的代码这里错了
            if each.isalpha():
                abcs+=1
            elif each.isdigit():
                nums+=1
            elif each==' ':
                spaces+=1
            else:
                elsestrs+=1
      print('第%d个字符串共有英文字母%d个,数字%d个,空格%d个,其他字符%d个。'%(i+1,abcs,nums,spaces,elsestrs))
      
count(input())   #这样收集参数?
页: [1]
查看完整版本: python零基础入门19课课后题求助=-=