题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析: 利用 while 或 for 语句,条件为输入的字符不为 ‘\n’。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
-------------------------------------------------------
File Name: Python练习100【017】:字符串构成
Author: zhangzx
Date: 2020-12-17
-------------------------------------------------------
Change Activity:
2020-03-22
-------------------------------------------------------
"""
string = input("请输入字符串(包含空格、数字、字母): \n")
# 解法一
print("\n解法一结果:")
space = 0 # 空格数量
alpha = 0 # 字母数量
digit = 0 # 数字数量
other = 0 # 其他形式
for i in range(len(string)):
if string[i].isspace():
space+=1
elif string[i].isalpha():
alpha+=1
elif string[i].isdigit():
digit+=1
else:
other+=1
print("字符串的总长度为: %d \n其中:"%len(string))
print("空格数量: %d"%space)
print("字母数量: %d"%alpha)
print("数字数量: %d"%digit)
print("其他数量: %d"%other)
# 解法二
print("\n解法二结果:")
space_1 = 0 # 空格数量
alpha_1 = 0 # 字母数量
digit_1 = 0 # 数字数量
other_1 = 0 # 其他形式
i = 0
while i < len(string):
if string[i].isspace():
space_1+=1
elif string[i].isalpha():
alpha_1+=1
elif string[i].isdigit():
digit_1+=1
else:
other_1+=1
i+= 1
print("字符串的总长度为: %d \n其中:"%len(string))
print("空格数量: %d"%space_1)
print("字母数量: %d"%alpha_1)
print("数字数量: %d"%digit_1)
print("其他数量: %d"%other_1)
---------------------------以下是输出-----------------------------
请输入字符串(包含空格、数字、字母):
aaaa nn 22 6 kk
解法一结果:
字符串的总长度为: 16
其中:
空格数量: 5
字母数量: 8
数字数量: 3
其他数量: 0
解法二结果:
字符串的总长度为: 16
其中:
空格数量: 5
字母数量: 8
数字数量: 3
其他数量: 0