Python 第三次实验
【1】 (程序设计)输入一个正整数,输出它的因子分解式。如输入132,则输出132=122311
n=int(input()) print(1,end='') for i in range(2,n+1): while(n%i==0): n=n/i print('*',i,sep='',end='')
【2】 (程序设计)用户输入一行字符串,统计并输出其中空格、数字、英文字母、其他字符的个数,输入输出格式如下:
例如:
请输入字符串:Version 3.1415
输入的字符串有1个空格,5个数字,7个英文字母,1个其它字符
str=input() ans_space=0 ans_num=0 ans_other=0 ans_alphabet=0 for s in str: if('0'<=s<='9'): ans_num=ans_num+1 elif('a'<=s<='z' or 'A'<=s<='Z'): ans_alphabet=ans_alphabet+1 elif(s==' '): ans_space=ans_space+1 else: ans_other=ans_other+1 print('输入的字符串有{}个空格,{}个数字,{}个英文字母,{}个其它字符'.format(ans_space,ans_num,ans_alphabet,ans_other))
【3】 (程序设计)输入两个正整数,输出这两个数之间有多少个数含有数字8。比如输入170和200,则在170和200之间有12个数含有8,则输出12。
def check(x): if x%10==8: return 1 if x==0: return 0 return check(x//10) l=int(input('请输入第一个正整数:')) r=int(input('请输入第二个正整数:')) ans=0 for i in range(l,r+1): ans=ans+check(i) print('{}和{}之间有{}个数含有数字8'.format(l,r,ans))
【4】 (程序设计)编写程序,输入正整数a和b,产生a个范围在[100,999]的随机整数。输出这a个随机数(每行5个,数据之间用一个空格隔开),找出能被b整除的数据个数。注意:不能使用列表、元组、集合、字典等组合数据类型。
import random a=int(input('请输入整数a:')) b=int(input('请输入整数b:')) ans=0 for i in range(a): x=random.randint(100,999) print(x,end=' ') if(i%5==4): print('') if(x%b==0): ans=ans+1 print('总共{}个数能被{}整除'.format(ans,b))
【5】 (程序设计)设计一个函数 func(a),它接受一个正整数a,函数返回这个数字每个位上数字的和(函数内不能有input,print语句,不能使用global语句),例如,func(123),返回6,因为1+2+3=6。
def func(x): if(x==0): return 0 return x%10+func(x//10) n=int(input('请输入一个整数:')) print('它的各位数字之和为',func(n),sep='')
【6】 (程序设计)设计一个函数func(s),它接受一个字符串变量s,返回其中大写字母的个数。
def func(str): ans=0 for s in str: if('A'<=s<='Z'): ans=ans+1 return ans str=input() print(func(str))
【7】 (程序设计)定义一个函数,该函数返回参数字符串中包含多少个数字、多少个英文字母。
def get(str): ans_num=0 ans_alphabet=0 for s in str: if '0'<=s<='9': ans_num=ans_num+1 if 'a'<=s<='z' or 'A'<=s<='Z': ans_alphabet=ans_alphabet+1 return [ans_num,ans_alphabet] str=input() ret=get(str) print('字符串里有{}个数字,{}个字母'.format(ret[0],ret[1]))
【8】 (程序设计)区间素数和。输入两个正整数m,n ( m < n),编写程序求[m,n]之间的所有素数的和。要求定义函数def IsPrime(m)判断整数m是否是素数,如果是素数返回True否则返回False。
def IsPrime(m): i=2 while i*i<=m: if(m%i==0): return 0 i=i+1 return 1 m=int(input('请输入整数m:')) n=int(input('请输入整数n:')) ans=0 for i in range(m,n+1): if(IsPrime(i)): ans=ans+i print('范围在[{},{}]的素数和为{}'.format(m,n,ans))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2019-03-26 【learning】 扩展lucas定理