|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #判断输入是否为回文联
- def poe():
- i=input('请输入一句话:')
- j=list(i)
- m=''
- for each in range(len(j)):
- m[each]=j.pop()
- if i==m:
- print('是回文联!')
- else:
- print('不是回文联!')
- #统计输入字符串各类型数据的个数
- def count(str1=1,str2=2):
- str1=input('请输入第一个字符串:')
- str2=input('请输入第二个字符串:')
- a=b=c=d=h=i=j=k=0
- for each in range(len(str1)):
- m=int(str1[each])
- if 65<=m<=90 or 97<=m<=122:
- a+=1
- elif 48<=m<=57:
- b+=1
- elif m==0:
- c+=1
- else:
- d+=1
- for each in range(len(str2)):
- n=int(str1[each])
- if 65<=n<=90 or 97<=n<=122:
- h+=1
- elif 48<=n<=57:
- i+=1
- elif n==0:
- j+=1
- else:
- j+=1
- print('第一个字符串共有:英文字母%d个,数字%d个,空格%d个,其他字符%d个。'% (a,b,c,d))
- print('第一个字符串共有:英文字母{1}个,数字{2}个,空格{3}个,其他字符{4}个。'.format(h,i,j,k))
复制代码
代码内容是课后习题19讲动手题,两个函数都编译失败了,错误描述见下图,求大神指导(错误可能不止一个)
本帖最后由 jackz007 于 2019-11-5 00:14 编辑
提取字符ASCII 编码的语句有误:
应该写成这样:
楼主的两个程序我给修改了一下,主要是简化:
回文联
- s = input('请输入一句话:')
- if s == s[::-1]:
- print('是回文联!')
- else:
- print('不是回文联!')
复制代码
各种字符分类统计
- def count(s):
- c1 , c2 , c3 , c4 = 0 , 0 , 0 , 0
- for x in s:
- c = ord(x)
- if (c > 64 and c < 91) or (c > 96 and c < 123):
- c1 += 1
- elif c > 47 and c < 58:
- c2 += 1
- elif c == 32:
- c3 += 1
- else:
- c4 += 1
- return c1 , c2 , c3 , c4
- str1 = input('请输入第一个字符串:') . strip()
- if len(str1):
- str2 = input('请输入第二个字符串:') . strip()
- if len(str2):
- c1 , c2 , c3 , c4 = count(str1)
- print('第一个字符串共有:英文字母%d个,数字%d个,空格%d个,其他字符%d个。' % (c1 , c2 , c3 , c4))
- c1 , c2 , c3 , c4 = count(str2)
- print('第二个字符串共有:英文字母%d个,数字%d个,空格%d个,其他字符%d个。' % (c1 , c2 , c3 , c4))
复制代码
|
|