题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'。
实例(Python2.x) - 使用 while 循环
#!/usr/bin/python# -*- coding: UTF-8 -*- import strings = raw_input('请输入一个字符串:\n')letters = 0space = 0digit = 0others = 0i=0while i < len(s): c = s[i] i += 1 if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1print 'char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others)
实例(Python3.x) - 使用 for 循环
#!/usr/bin/python3 import strings = input('请输入一个字符串:\n')letters = 0space = 0digit = 0others = 0for c in s: if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1print ('char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others))
以上实例输出结果为:
请输入一个字符串:123runoobc kdf235*(dflchar = 13,space = 2,digit = 6,others = 2