文章目录
前言
以下是2021年11月20日python中的每日练习内容。
包含三个简单程序。
一、求fn(a,n)和
1.编写程序要求
- 要求编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和。
- 从控制台输入正整数a和n的值(两个值都不超过9),并输出fn(a,n)的结果值。
2.源代码
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 20 13:11:46 2021
@author: 小梁aixj
"""
def fun(a,n):
s=1
sum=1
for i in range(1,n):
s=1+s*10
sum+=s
y=a*sum
#输出部分
print('f({},{})的和:{}'.format(a,n,y))
print(y)
def main():
while(1):
a=int(input('请输入a='))
if a>9 or a<0:
print('a的值输入错误,请重新输入=')
else:
break
while(1):
n=int(input('请输入n='))
if n>9 or n<0:
print('n的值输入错误,请重新输入=')
else:
break
fun(a,n)
if __name__=='__main__':
main()
3.运行结果
二、统计成绩分布
1.编写程序要求
- 随机产生10个[0,100]之间的整数,模拟5名学生的考试成绩。
- 输出成绩,计算平均分,统计高于平均分的人数。
2.源代码
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 20 13:01:07 2021
@author: 梁军
"""
import random
a=[]
sum=0
cnt=0
print('随机输出10个学生的成绩:')
for i in range(10):
x=random.randint(0, 100)
sum+=x
print(x,end=' ')
a.append(x)
ave=sum/10
print()
print('平均分是:{}'.format(ave))
for i in range(10):
if a[i]>ave:
cnt+=1
print('超过平均分的人数有:{}'.format(cnt))
3.运行结果
三、字符串统计
1.编写程序要求
从键盘输入一个包含有英文字母、数字、空格和其它字符的字符串,并分别实现下面的功能:
(1)统计字符串中出现n次的英文字母(区分大小写)。
(2)统计字符串中出现n次的数字,n从键盘输入。
(3)分为两个程序第一个是字母统计,第二个是数字统计。
2.源代码
(1)字母重复统计
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 20 12:12:25 2021
@author: 梁军
"""
#第一题
s=input('input string:\n')
n=int(input('输入字母重复的次数:'))
dict1={}
for c in s:
if c.isalpha():
if c not in dict1.keys():
dict1[c]=1
else:
dict1[c] += 1
for key in dict1.keys():
if dict1[key]==n:
print(key)
(2)数字重复统计
# -*- coding: utf-8 -*-
"""
Created on Sat Nov 20 12:21:00 2021
@author: 梁军
"""
#第二题
s=input('input string:\n')
n=int(input('输入查找数字的重复次数:\n'))
print()
dict2={}
for c in s:
if c.isdigit():
if c not in dict2.keys():
dict2[c]=1
else:
dict2[c] += 1
for key in dict2.keys():
if dict2[key]==n:
print(key)