练习:字符串统计
今天刷到字符串统计的题目,能看懂了。用自己的代码也来实现一次。
练习题目
代码运行效果
python代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#/sur/bin/nve python
# codong: utf-8
#初始化存放字符或数字的列表
char = []
numbers = []
s = input(f'\n\n请输入字符串:\n {"$>>"}')
#注意,替换位置不可以包含反斜杠'\',python会报错。
#提取字符和数字
for i in s[:]:
if i.islower() or i.isupper():
#不可以用str.isalpha(),她中文也是True
char.append(i)
elif i.isdigit():
numbers.append(i)
#1. 统计出现两次的英文字母(区分大小写)
char_out = []
for i in char[:]:
count = 0 #计数器置零
for j in char:
if i==j:
count += 1
if count==2: #如果出现两次,记录字符
char_out.append(i)
char_out = list(set(char_out)) #集合去重复
#输出现两次的英文字母
input(f'\n\n出现两次的英文字母:\n\n {",".join(char_out)}')
#2. 统计字符串中出现n次的数字
#输入n
while True:
try:
n = int(input(f'\n\n请输入:\n\n{" N = "}'))
break
except Exception as error:
input(f'\n\n{"输入错误!".rjust(16)}\n{error}')
numbers_out = []
for i in numbers[:]:
count = 0 #计数器置零
for j in numbers:
if i==j:
count += 1
if count==n and i not in numbers_out: #如果出现n次,记录字符
numbers_out.append(i)
#输出现n次的数字
print(f'\n\n出现{n}次的数字:\n\n {",".join(numbers_out)}')
也可以用re提取字符串中的数字,效果如下:
一样可以实现。
python代码(re)
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#/sur/bin/nve python
# codong: utf-8
#初始化存放字符串的列表
char = []
s = input(f'\n\n请输入字符串:\n {"$>>"}')
#注意,替换位置不可以包含反斜杠'\',python会报错。
#提取字符和数字
for i in s[:]:
if i.islower() or i.isupper():
#不可以用str.isalpha(),她中文也是True
char.append(i)
#1. 统计出现两次的英文字母(区分大小写)
char_out = []
for i in char[:]:
count = 0 #计数器置零
for j in char:
if i==j:
count += 1
if count==2 and i not in char_out: #如果出现两次,记录字符
char_out.append(i)
char_out = list(set(char_out)) #集合去重复
#输出现两次的英文字母
input(f'\n\n出现两次的英文字母:\n\n {",".join(char_out)}')
#2. 统计字符串中出现n次的数字
import re
#输入n
while True:
try:
n = int(input(f'\n\n{"N = ":4s}'))
break
except Exception as error:
input(f'\n\n{"输入错误!".rjust(16)}\n{error}')
numbers = ''.join(re.findall(r'\d+', s)) #提取数字
numbers_out = []
for i in numbers[:]:
count = 0 #计数器置零
for j in numbers:
if i==j:
count += 1
if count==n and i not in numbers_out: #如果出现n次,记录字符
numbers_out.append(i)
#输出现n次的数字
print(f'\n\n出现{n}次的数字:\n\n {",".join(numbers_out)}')
f’str{}'报错
大括号中字符串不可以含有反斜杠’’,如’\n’换行符。
我的博文推荐:
推荐条件:
点阅破千
参考文章:
上一篇: 神奇的“狼抓兔子”
下一篇: 练习:求列表(整数列表)平衡点
精品文章:
来源:老齐教室