CSDN2021-11-23“每日一练”
今天的“每日一练”三题目都是基础的基础,第一次能基本看懂全部代码。当然,也是第二次“一次提交全对”。😋
因此,按照理解,用自己的代码再次实现题目要求。(录于博文,方便往后翻阅。)
第一题目
实现效果
完整代码
#/usr/bin/nve python
# coding: utf-8
#题目一:统计成绩分布
import random #加载随机数模块
n = 10 #模拟10人成绩
score = [random.randint(1,100) for i in range(10)] #模拟成绩列表
count = 0 #初始化高于平均成绩的计数器
#计算总分和平均分
sum_score = sum(score)
average = sum_score/n
#计算高于平均成绩人数
for i in score[:]: #遍历成绩列表副本
if i>average:
count += 1
print(f'\n\n模拟{n}人成绩:\n')
#打印成绩
k = 1 #成绩列印序号初始化
for i in score[:]:
print(f' {k:2}. {i}')
k += 1
print('﹊'*21) #打印分割线
#打印输出结果
s = f'''
平均成绩:{average}分
高于平均成绩{count}人。
'''
print(s)
print('﹊'*21) #打印分割线
第二题目
运行效果
完整代码
#/usr/bin/nve python
# coding: utf-8
#题目二:查找字符串中的素数
import re
def isprime(number):
'''判断素数'''
if number==1:
print(f'\n\n "{number}"不是素数。')
return False
for i in range(2, number):
if number%i==0:
print(f'\n\n "{number}"不是素数。')
return False
print(f'\n\n "{number}"是素数。')
return True
s = input('\n\n%s'%'请输入含数字的字条串:'.ljust(4))
#提取字符串中的所有数字
number_s = re.findall(r'\d+', s)
number_new = [] #初始化新列表
for i in number_s[:]: #遍历列表副本
if isprime(int(i)):
number_new.append(i)
else:
number_new.append(0)
print('﹊'*21) #打印分割线
#输出
s2 = f'''
原始字符串:{s}
提取数字列表:{number_s}
去除非素数后:{number_new}
'''
print(s2)
print('﹊'*21) #打印分割线
第三题目
运行效果
完整代码
#/usr/bin/nve python
# coding: utf-8
#题目三 统计列表中的最大连续元素
import random
k = 20
#随机生k个1~10的数字列表
sumber = [random.randint(1,10) for i in range(k)]
n = n2 = 0 #初始化连续次数
x = x2 = 0 #初始化连续元素
for i in sumber[:]:
if x==i:
n += 1
if n>n2:
n2 = n
x2 = x
else:
n = 1
x = i
print('\n\n随机%s个元素列表:\n%s'%(k, sumber))
print(f'\n\n "{x2}"连续最长,共出现{n2}次。\n')
print('﹊'*21) #打印分割线
input('Any key continue...'.center(42))
上一篇: python模块帮助文档写入文件
下一篇:
![老齐漫画头像](https://i-blog.csdnimg.cn/blog_migrate/8cbf2c45d8b57205b31ef4963b3b9854.jpeg)
精品文章:
来源:老齐教室