鱼C论坛

 找回密码
 立即注册
查看: 3233|回复: 6

[已解决]python 基础课后题 统计字符串内部类型。。帮我看一下思路是否可以。。谢谢!!!

[复制链接]
发表于 2021-1-14 15:40:14 | 显示全部楼层 |阅读模式
3鱼币
本帖最后由 香喷喷的咸鱼 于 2021-1-14 15:46 编辑
  1. def Other_code (str1):             #这个函数实际多此一举了,但是多练习一下!
  2.     length=len(str1)
  3.     i=0
  4.     for each in range(length-1):
  5.         if str1 not in (num and space and word):
  6.             i+=1
  7.     return i
  8.             

  9. def text (*params):
  10.     length1=len(params)
  11.     for each in range(length1-1):
  12.         num1=0;word1=0;space1=0;other1=0
  13.         for each1 in params[each]:      
  14.             if params[each][each1] in num:      #此处我想通过索引each得到元组内第几个字符串。再利用each1得到字符串内的第几个元素。不知道是否可以
  15.                 num1+=1
  16.             elif params[each][each1] in space:
  17.                 space1+=1
  18.             elif params[each][each1] in  word:
  19.                 word1+=1
  20.         other1=Other_code (params[each])
  21.         print('第%d个字符串共有:英文字母%d个,数字%d个,空格%d个,其他字符%d个。'%(each,word1,num1,space,other1))



  22. num=r'0123456789'
  23. space=r' '
  24. word=r'qwertyuiopasdfghjklzxcvbnm'

  25. text('I love fishc.com.', 'I love you, you love me.')        
复制代码





以上是我的程序,有错误不能正常运行  但又不知道哪些不太合理。希望热心的鱼油可以帮我解惑!
咸鱼在此感激不尽!
最佳答案
2021-1-14 15:40:15
  1. def Other_code (str1):             #这个函数实际多此一举了,但是多练习一下!
  2.     length=len(str1)
  3.     i=0
  4.     for each in range(length-1):
  5.         if str1 not in (num and space and word):
  6.             i+=1
  7.     return i
  8.             

  9. def text (*params):
  10.     length1=len(params)
  11.     for each in range(length1):
  12.         num1=0;word1=0;space1=0;other1=0
  13.         for each1 in params[each]:      
  14.             if each1 in num:      #此处我想通过索引each得到元组内第几个字符串。再利用each1得到字符串内的第几个元素。不知道是否可以
  15.                 num1+=1
  16.             elif each1 in space:
  17.                 space1+=1
  18.             elif each1 in  word:
  19.                 word1+=1
  20.         other1=len(params[each])-num1-word1-space1
  21.         print('第%s个字符串共有:英文字母%s个,数字%s个,空格%s个,其他字符%s个。'%(each+1,word1,num1,space1,other1))



  22. num=r'0123456789'
  23. space=r' '
  24. word=r'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'

  25. text('I love fishc.com.', 'I love you, you love me.')        
复制代码
1.PNG
题目.PNG

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-14 15:40:15 | 显示全部楼层    本楼为最佳答案   
  1. def Other_code (str1):             #这个函数实际多此一举了,但是多练习一下!
  2.     length=len(str1)
  3.     i=0
  4.     for each in range(length-1):
  5.         if str1 not in (num and space and word):
  6.             i+=1
  7.     return i
  8.             

  9. def text (*params):
  10.     length1=len(params)
  11.     for each in range(length1):
  12.         num1=0;word1=0;space1=0;other1=0
  13.         for each1 in params[each]:      
  14.             if each1 in num:      #此处我想通过索引each得到元组内第几个字符串。再利用each1得到字符串内的第几个元素。不知道是否可以
  15.                 num1+=1
  16.             elif each1 in space:
  17.                 space1+=1
  18.             elif each1 in  word:
  19.                 word1+=1
  20.         other1=len(params[each])-num1-word1-space1
  21.         print('第%s个字符串共有:英文字母%s个,数字%s个,空格%s个,其他字符%s个。'%(each+1,word1,num1,space1,other1))



  22. num=r'0123456789'
  23. space=r' '
  24. word=r'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'

  25. text('I love fishc.com.', 'I love you, you love me.')        
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-14 15:42:50 | 显示全部楼层
这是(题目 ) 和  (我的运行结果)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-14 16:06:58 | 显示全部楼层

谢谢龟哥。原来是这样用的。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-14 16:12:08 | 显示全部楼层

请问each1  作为元组中的字符串中的一个元素。。可以帮我详解一下吗,有些不明白怎么过去的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-14 16:41:00 | 显示全部楼层
香喷喷的咸鱼 发表于 2021-1-14 16:12
请问each1  作为元组中的字符串中的一个元素。。可以帮我详解一下吗,有些不明白怎么过去的

迭代字符串的话就是迭代每一个元素
例子:
  1. >>> string = 'I love fishc.com.'
  2. >>> for i in string:
  3.         print(i)

  4.        
  5. I

  6. l
  7. o
  8. v
  9. e

  10. f
  11. i
  12. s
  13. h
  14. c
  15. .
  16. c
  17. o
  18. m
  19. .
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-14 16:45:15 | 显示全部楼层
香喷喷的咸鱼 发表于 2021-1-14 16:12
请问each1  作为元组中的字符串中的一个元素。。可以帮我详解一下吗,有些不明白怎么过去的

你想要用索引的话就这么写
  1. def Other_code (str1):             #这个函数实际多此一举了,但是多练习一下!
  2.     length=len(str1)
  3.     i=0
  4.     for each in range(length-1):
  5.         if str1 not in (num and space and word):
  6.             i+=1
  7.     return i
  8.             

  9. def text (*params):
  10.     length1=len(params)
  11.     for each in range(length1):
  12.         num1=0;word1=0;space1=0;other1=0
  13.         length2 = len(params[each])
  14.         for each1 in range(length2):      
  15.             if params[each][each1] in num:      #此处我想通过索引each得到元组内第几个字符串。再利用each1得到字符串内的第几个元素。不知道是否可以
  16.                 num1+=1
  17.             elif params[each][each1] in space:
  18.                 space1+=1
  19.             elif params[each][each1] in  word:
  20.                 word1+=1
  21.         other1=len(params[each])-num1-word1-space1
  22.         print('第%s个字符串共有:英文字母%s个,数字%s个,空格%s个,其他字符%s个。'%(each+1,word1,num1,space1,other1))



  23. num=r'0123456789'
  24. space=r' '
  25. word=r'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'

  26. text('I love fishc.com.', 'I love you, you love me.')        
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-29 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表