鱼C论坛

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

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

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

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



num=r'0123456789'
space=r' '
word=r'qwertyuiopasdfghjklzxcvbnm'

text('I love fishc.com.', 'I love you, you love me.')        




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

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



num=r'0123456789'
space=r' '
word=r'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'

text('I love fishc.com.', 'I love you, you love me.')        
1.PNG
题目.PNG

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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



num=r'0123456789'
space=r' '
word=r'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'

text('I love fishc.com.', 'I love you, you love me.')        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-1-14 15:42:50 | 显示全部楼层
这是(题目 ) 和  (我的运行结果)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

谢谢龟哥。原来是这样用的。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

请问each1  作为元组中的字符串中的一个元素。。可以帮我详解一下吗,有些不明白怎么过去的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

        
I
 
l
o
v
e
 
f
i
s
h
c
.
c
o
m
.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

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



num=r'0123456789'
space=r' '
word=r'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'

text('I love fishc.com.', 'I love you, you love me.')        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 18:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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