鱼C论坛

 找回密码
 立即注册
查看: 2105|回复: 7

第一次编稍微长了一点的程序(对我这个菜鸟来说真的不短了),可是看了半天答案还是

[复制链接]
发表于 2016-9-23 21:45:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第一次编稍微长了一点的程序(对我这个菜鸟来说真的不短了),可是看了半天答案还是觉得自己的程序没啥问题,可就是出不来结果。大家谁有时间的话帮忙看一下,看看我哪里有问题。刚接触了一段时间python,可能有很低级的错误,求不笑。。。
以下是我的程序:
def count(*params):
    zimu = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
    shuzi ='0123456789'
    kongge = ' '
    length1 = len(params)
    for each1 in length1:
        length = len(params[each1])
        for each2 in length:
            if params[each1][each2] in zimu:
                count1 = 0
                count1 += 1
                print('第' +each1+'个字符串共有:'+'英文字母'+count1+'个,',end='')
            elif params[each1][each2] in shuzi:
                count2 = 0
                count2 += 1
                print('数字'+count2+'个,',end='')
            elif params[each1][each2] in kongge:
                count3 =0
                count3 += 1
                print('空格'+count3+'个,',end='')
            else:
                count4 = 0
                count4 += 1
                print('其他字符'+count4+'个。')
params = input('请输入字符串参数:')
count(*params)
                                                                                                                         O(∩_∩)O谢谢

这是题目要求

这是题目要求
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-23 22:12:25 | 显示全部楼层
  1. for each1 in length1:
复制代码

请问int类型可以送代吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-24 09:25:07 | 显示全部楼层
无符号整形 发表于 2016-9-23 22:12
请问int类型可以送代吗?

呃呃呃,那我改成  for each1 in range(length1):
还有其他什么本质性的错误没啊,求指点。十分感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-24 09:33:11 | 显示全部楼层
本帖最后由 无符号整形 于 2016-9-24 10:37 编辑

另外,这里有个类型问题
  1. print('第' +each1+'个字符串共有:'+'英文字母'+count1+'个,',end='')
复制代码

至于错在哪,自己想想,刮开即可看答案。
字符串的拼接必须是字符串+字符串,而相加的对象是int类型的,所以应该使用str将整型转化为字符串类型,那么代码就是这样:
def count(*params):
    zimu = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
    shuzi ='0123456789'
    kongge = ' '
    length1 = len(params)
    for each1 in range(length1):
        length = len(params[each1])
        for each2 in range(length):
            if params[each1][each2] in zimu:
                count1 = 0
                count1 += 1
                print('第' +str(each1)+'个字符串共有:'+'英文字母'+str(count1)+'个,',end='')
            elif params[each1][each2] in shuzi:
                count2 = 0
                count2 += 1
                print('数字'+str(count2)+'个,',end='')
            elif params[each1][each2] in kongge:
                count3 =0
                count3 += 1
                print('空格'+str(count3)+'个,',end='')
            else:
                count4 = 0
                count4 += 1
                print('其他字符'+str(count4)+'个。')

但是代码有个漏洞,请你自己修复:
请输入字符串参数:Fishc213123 2rji2ji3ri&8382
第0个字符串共有:英文字母1个,第1个字符串共有:英文字母1个,第2个字符串共有:英文字母1个,第3个字符串共有:英文字母1个,第4个字符串共有:英文字母1个,数字1个,数字1个,数字1个,数字1个,数字1个,数字1个,空格1个,数字1个,第13个字符串共有:英文字母1个,第14个字符串共有:英文字母1个,第15个字符串共有:英文字母1个,数字1个,第17个字符串共有:英文字母1个,第18个字符串共有:英文字母1个,数字1个,第20个字符串共有:英文字母1个,第21个字符串共有:英文字母1个,其他字符1个。
数字1个,数字1个,数字1个,数字1个,

点评

颜色要设置为浅灰,字体是 consolas  发表于 2016-9-24 10:02
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-9-24 10:27:51 | 显示全部楼层
无符号整形 发表于 2016-9-24 09:33
另外,这里有个类型问题

至于错在哪,自己想想,刮开即可看答案。

这样~~~

刮开即可看答案。
  1. [quote][font=consolas][backcolor=#f9f9f9][color=#f9f9f9]
  2. 刮开即可看答案。
  3. [/color][/backcolor][/font][/quote]
复制代码

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

使用道具 举报

发表于 2016-9-24 10:38:03 | 显示全部楼层
SixPy 发表于 2016-9-24 10:27
这样~~~

[code][/code]

OK
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-24 10:53:38 | 显示全部楼层
无符号整形 发表于 2016-9-24 09:33
另外,这里有个类型问题

至于错在哪,自己想想,刮开即可看答案。

感觉和题目预期的结果有点小差异。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-22 23:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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