Python中def()函数的实战练习题

Jennifer ·
更新时间:2024-11-10
· 791 次阅读

目录

一、判断以下哪些不能作为标识符

A、a
B、¥a
C、_12
D、$a@12
E、false
F、False

答案为:(F、D、B、E)

二、输入数,判断这个数是否是质数(要求使用函数 + for循环)

def zhishu(num): for i in range(2,num//2+1): if num%i==0: return (f"{num}不是质数") return (f"{num}是质数") print(zhishu(5))

三、求50~150之间的质数是那些?

def zhishu(num): for i in range(2,num//2+1): if num%i==0: return False return True for i in range(50,151): if zhishu(i): print(f"{i}是质数")

四、打印输出标准水仙花数,输出这些水仙花数

def num1(): for num in range(100,1000): i = num // 100 j = num // 10 % 10 k = num % 10 if num == i ** 3 + j ** 3 + k ** 3: print ("输出的水仙花数为:%s"%(num)) num1()

五、验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

在这里插入代码片num = int (input("请输入大于9的数字:")) if num<100: i=num%10 j=num//10 sums=i+j print(sums) if (num-sums)%9==0: print("该数能够被9整除,验证成功") else: print("该数能够被9整除,验证失败") elif num>=100 and num<=1000: i=(num %100)%10 j= (num %100)//10 k=num//100 sums=i+j+k print(sums) if (num -sums)/9==0: print("该数能够被9整除,验证成功") else: print('这个数不能被9整除,验证失败')

六、一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.

def num(): for i in range(10000,100000): num1=i * 10 + 7 num2=i + 700000 if num2==5*num1: print(i) num()

七、有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来

def nums(): for i in range(1,20): for j in range(i,141): if i*j==140: print("%d/%d"%(i,j)) nums()

八、某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这 个自然数.

def nums(): for num in range(1,100000): n=num/80 if n%7==0 and n%2==1 and n%3==1 and n%4==1 and n%5==1 and n%6==1: print('这个自然数为:%s'%(n)) nums()

九、编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和

def nums(): for num in range(100,1000): i=(num %100)%10 j= (num %100)//10 k=num//100 sums = i+j+k if sums==num/11: print("满足条件的三位数为:%s"%num) break nums()

十、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10, 8, 5, 3, 27, 99]

方法一 coin=[10, 8, 5, 3, 27, 99] x=0 for i in coin: if i%2==0: x+=i//2 else: x+=i//2+1 print("最少%s"%(x)+"次可以拿完硬币") # 方法二,递归法 def coin(n): if n==1 : return 1 if n==2: return 2 return coin(n-1)+coin(n-2) print("最少%s"%(coin(10))+"次可以拿完硬币")

十一、求1~100之间不能被3整除的数之和

def sums(): num1 = 0 for num in range(1,101): if num % 3 != 0: num1 += num print("1~100之间不能被3整除的数之和为:%s"%(num1)) sums() print("1~100之间不能被3整除的数之和为:%s"%(num1))

十二、给定一个正整数N,找出1到N(含)之间所有质数的总和

def sums(): N=int(input("请输入一个正数:")) sum=0 for num in range(0,N): sum+=num+1 print("1~N求和的结果为:{}".format(sum)) sums()

十三、计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1…)

def sums(): x=0 y=0 for i in range(1,99999999,4): x+=4*(1/i) for i in range (3,99999999,4): y-=4*(1/i) print(x+y) sums()

十四、给定一个10个元素的列表,请完成排序(注意,不要使用系统api)

def sorts(): list1=[10,25,12,11,10,9,8,1,5,30] for i in list1: list1.sort() print("排序后的元素为:%s"%list1) sorts()

十五、求a+aa+aaa+…+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。

def sums(): a=int(input("请输入数字:")) b=int(input("请输入项数:")) c=0 for i in range(1,b+1): sums=a**i c+=sums print("您输入的项为%s"%(b)+",数字为:%s"%(a)+",和为:%s"%(c)) sums()

十六、合并两个有序数组,合并后还是有序列表

def ls(): list1=[1,2,3,4,5,6] list2=[7,8,9,10,11,12] print('合并后的列表为:%s'%(list1+list2)) ls()

十七、给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

def ls(): lsA=[1,2,33,35,34,36] lsB=[] lsC=[] for i in lsA: if i%2==0: lsB.append(i) else: lsC.append(i) lsB.extend(lsC) print("该数组中的所有偶数都放在奇数元素之前的元素为:%s"%(lsB)) ls()

十八、将10进制数据转换为二进制,并且统计其中的0和1的数量

十九、给定一个数组,已知数组中的元素都是成对出现,现在数组中只有一个元素没有成对,请找出这个元素。[1,3,1,2,2,8,8]

def ls(): ls=[1,3,1,2,2,8,8] for i in ls: if ls.count(i) %2 !=0: print("没有成对的元素为:%s"%(i)) ls()

总结

到此这篇关于Python中def()函数的文章就介绍到这了,更多相关Python中def()函数内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



实战 def 函数 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号