Python中def()函数的简单使用有哪些
Admin 2022-08-02 群英技术资讯 804 次浏览
这篇文章将为大家详细讲解有关“Python中def()函数的简单使用有哪些”的知识,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、判断以下哪些不能作为标识符
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()

总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python装饰器适合什么场景?用法是什么?一些新手可能对于Python装饰器还不是很了解,对此这篇文章就给大家来介绍一下Python装饰器,下文有对Python装饰器的介绍以及实例,感兴趣的朋友就往下看吧。
AdaBoost 是英文 Adaptive Boosting(自适应增强)的缩写,由 Yoav Freund 和Robert Schapire 在1995年提出。
遇到一个情况,需要进行递归操作,但是呢递归次数非常大,有一万多次。先不说一万多次递归,原来的测试代码是java的,没装jdk和编译环境,
这篇文章主要介绍了python 动态规划(背包问题和最长公共子串),在动态规划中,你要将某个指标最大化。在这个例子中,你要找出两个单词的最长公共子串。fish和fosh都包含的最长子串是什么呢,感兴趣的朋友跟随小编一起看看吧
这篇文章主要介绍了Python 实现一个全连接的神经网络,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008