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

 更新时间:2022年07月04日 12:42:30   作者:橘子爱吃橘子  
def是define的缩写,用来自定义函数,下面这篇文章主要给大家介绍了关于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()

总结

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

相关文章

  • 关于你不想知道的所有Python3 unicode特性

    关于你不想知道的所有Python3 unicode特性

    我的读者知道我是一个喜欢痛骂Python3 unicode的人。这次也不例外。我将会告诉你用unicode有多痛苦和为什么我不能闭嘴。我花了两周时间研究Python3,我需要发泄我的失望。在这些责骂中,仍然有有用的信息,因为它教我们如何来处理Python3。如果没有被我烦到,就读一读吧
    2014-11-11
  • 使用python实现kmean算法

    使用python实现kmean算法

    这篇文章主要介绍了使用python实现kmean算法,kmean 是无监督学习的一种算法,主要是用来进行聚类分析的,他会在数据集中算出几个点作为簇中心,求这些数据集与这些簇中心的距离,并将距离同一个簇中心距离最近的数据归为一类,需要的朋友可以参考下
    2023-04-04
  • Python中文竖排显示的方法

    Python中文竖排显示的方法

    这篇文章主要介绍了Python中文竖排显示的方法,可实现Python将中文竖排输出显示的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python如何变换环境

    python如何变换环境

    在本篇内容里小编给各位分享的是一篇关于python如何变换环境的相关基础文章,有需要的朋友们可以参考下。
    2020-07-07
  • 利用Matplotlib绘制折线图、散点图、柱状图、直方图、饼图的实例

    利用Matplotlib绘制折线图、散点图、柱状图、直方图、饼图的实例

    这篇文章主要介绍了利用Matplotlib绘制折线图、散点图、柱状图、直方图、饼图的实例代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • PyTorch实现重写/改写Dataset并载入Dataloader

    PyTorch实现重写/改写Dataset并载入Dataloader

    这篇文章主要介绍了PyTorch实现重写/改写Dataset并载入Dataloader,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • python 如何将浮点数尾部无效0去掉和无效的‘.’号

    python 如何将浮点数尾部无效0去掉和无效的‘.’号

    这篇文章主要介绍了python 如何将浮点数尾部无效0去掉和无效的‘.’号,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Pycharm 2020最新永久激活码(附最新激活码和插件)

    Pycharm 2020最新永久激活码(附最新激活码和插件)

    最近很多朋友的Pycharm激活时间又过期了,今天小编再把激活的方法汇总和工具分享一下,文中给大家分享两种方式,需要的朋友直接拿去用吧
    2020-01-01
  • 如何在python中实现capl语言里的回调函数(推荐)

    如何在python中实现capl语言里的回调函数(推荐)

    CAPL是一种程序语言,其中程序块的执行由事件控制,主要介绍了如何在python中实现capl语言里的回调函数及事件函数的作用,需要的朋友可以参考下
    2022-08-08
  • anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)

    anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)

    这篇文章主要介绍了anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论