python实现isprime函数_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...

news/2024/11/8 8:45:52 标签: python实现isprime函数

Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数

一、Python参数类型

形参:定义函数时的参数变量。

实参:调用函数时使用的参数变量。

参数传递的过程,就是把实参的引用传递给形参,使用实参的值来执行函数体的过程。

在 Python 中,函数的实参/返回值都是是靠引用来传递的。

在调用函数时,通常会传递参数,不同的参数处理不同的数据。一般有普通参数、默认参数、可变位置参数、可变关键字参数等。

1.普通参数:按照参数位置,依次传递参数。

def add(x,y): return x + y print(add(3,4))

2.默认参数:定义函数时,可以给某个参数赋一个默认值。

调用函数时,如果没有传入默认参数的值,则在函数内部使用参数默认值。

要使用最常见的值作为默认值,从而简化函数的调用。

如果一个参数的值不能确定,则不应该设置默认值,具体的数值在调用函数时由外界传递。在调用函数时,如果有多个默认参数,需要指定参数名,这样解释器才能够知道参数的对应关系。

def add(x,y=1): return x+y print(add(2)) print(add(2,3))

当一个参数有默认值时,调用时如果不传递此参数,会使用默认值。

注意:带默认值参数必须在不带默认值参数之后,否则会报错。

3.可变位置参数:

定义参数时参数前面加一个*,表示这个参数是可变的,可以接受任意多个参数,这些参数构成一个元组,只能通过位置进行参数传递。实例如下:

求一组数字的最大值,最小值,参数个数:

def max(*a): m=n=a[0] for x in a: if x>=m: m=x else: n=x return m,n,len(a) b=input(‘输入若干数字,用空格隔开:‘).split() print(max(*b))

运行结果:

关于最后一行:print(max(*b)),*b的作用是解包,否则传递的是整个列表。

如果不加*,则输出结果如下:

4.可变关键字参数:

定义参数时,在前面加**,表示这个参数可变,可以接受任意多个参数,这些参数构成一个字典,只能通过关键字参数传递。

参数的混合使用:

#位置参数可以和关键字参数一起使用。 #当位置可变参数和关键字可变参数一起使用的时候,可变位置参数必须在前。

def fn(*args,**kwargs): print(args) print(kwargs) fn(1,2,3,x=4,y=5)

#普通参数可以和可变参数一起使用,但是传参的时候必须匹配

def fn(x,y,*args,**kwargs): print(x) print(y) print(args) print(kwargs) fn(1,2,3,4,5,a=6,b=7)

#关键字可变参数不允许在普通参数之前 #下面的方式定义会出错

def fn(**kwargs,x): print(x) fn(a=1,2)

#默认参数可以在可变位置参数之前

def fn(x=5,*args): print(x) fn()

参数解构(拆包):

参数解构发生在函数调用的时候,可变参数发生在函数定义的时候。

解构有两种形式:

1.解构符号:*,解构的对象:可迭代对象。解构后的结果:位置参数。

2.解构符号:**,解构的对象:字典。解构的结果:关键字参数。

关键字参数解构,key必须是str类型。

def add(a,b): return a+b data = [4,3] print(add(*data))#位置参数解构

data1 = {‘a‘:3,‘b‘:4} print(add(**data1))#关键字参数解构

二、程序练习题

5.2 实现 isOdd()函数,参数为整数,如果整数为奇数,返回True,否则返回False。

实现代码如下:

def isOdd(num): if num%2!=0: return True else: return False s=eval(input("请输入一个整数:")) print(isOdd(s))

运行结果:

5.3 实现 isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。

实现代码如下:

def isNum(num): try: n=type(eval(num)) if n==type(1):#输入为整型

return True elif n==type(1.0):#输入为浮点型

return True elif n==type(1+1j):#输入为复数

return True except: return False n=input("请输入一个字符串:") print(isNum(n))

运行结果:

5.4 实现 multi()函数,参数个数不限,返回所有参数的乘积。

实现代码如下:

def multi(s): m = 1

for i in s: m *= int(i) return m n=input("请输入若干整数:").split() print(multi(n))

运行结果:

5.5 实现 isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。

实现代码如下:

def isPrime(num): try: num = eval(num) if type(num) == type(1):#判断输入是否为整型

if num<=1:#判断一个数字是否是质数:质数是一个只能被自己和1整除的大于1的正整数。注意1不是质数。

return False elif num==2:#2是质数,这里单独作为一个条件是为了与下面的判断条件区分

return True else: for i in range(2,num):#这里考虑的是大于2的正整数num,将这个数依次除以从2到num-1的整数进行取模运算,只要有一个数使它余数为0就说明它不是质数

if num % i == 0: return False else: return True else: raise ValueError#引发ValueError异常

except ValueError:#传入参数异常处理

return "输入有误!请输入整数!"#这里没有使用print语句,如果没有给定return一个返回值,则函数的返回值为None

except:#其他异常处理

return "输入有误!请输入整数!" n = input("请输入一个整数:") print(isPrime(n))

运行结果:


http://www.niftyadmin.cn/n/1122879.html

相关文章

asp.net页面刷新或者回发后DIV的滚动条位置不变!(转)

源文件&#xff1a;http://www.cnblogs.com/nyth/archive/2011/06/10/2077868.html 当把数据放在div里面&#xff0c;然后给div设置Scroll显示&#xff0c;在页面刷新后或者是处理了某个按钮的事件&#xff0c;这个时候div的滚动轴就会又回到起始位置&#xff0c;但事实上得把数…

MyEclipse移动开发教程:构建MobiOne应用(六)

2019独角兽企业重金招聘Python工程师标准>>> 【中文网周年庆】MyEclipse个人开发者专享8折&#xff01;在线订购>> 在上文中&#xff0c;小编主要为大家介绍了如何配置应用详细信息、图标和Splash Screen。在本文中&#xff0c;我们将继续为大家介绍如何构建应…

00-Vue初体验

Vue初体验 体验Vue的响应式&#xff08;数据发生改变&#xff0c;页面会自动跟着改变&#xff09; 我们做了什么事情 在阅读JavaScript代码是&#xff0c;会发现创建了一个Vue对象。创建Vue对象的时候&#xff0c;传入了一些options:{} 1.{}中包含了el属性&#xff1a;该属性…

重定向到登录在SharePoint 2007

从一家英文网站上找到的资料&#xff0c;翻译过来了&#xff1a; 如果您需要确保在用户登录之前在MOSS访问您的自定义&#xff0c;然后重定向回登录后&#xff0c;您可以使用一个方法&#xff0c;如内置如下&#xff1a; Microsoft.SharePoint.Utilities.SPUtility.EnsureAuthe…

SpringMVC的DispatcherServlet的默认策略

SpringMVC的DispatcherServlet的默认策略 在使用SpringMVC的时候&#xff0c;我们知道需要HandlerMapping定义请求路径与处理器之间的映射&#xff0c;需要HandlerAdapter来调用处理器方法并返回一个ModelAndView对象&#xff0c;需要ViewResolver来解析视图。这些是SpringMVC中…

Xcode 添加PCH文件

Xcode 添加PCH文件 1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点击下一步&#xff1b; 2.) 给你的PCH文件起名字TestDemo-Prefix.pch. 例如你的项目工程名为TestDemo然而你的PCH 文件的名字应该为…

安装gcc,g++

安装gcc、g sudo apt-get install make gcc g 查看g版本 g --version转载于:https://www.cnblogs.com/liangliangdetianxia/p/4364846.html

配置管理计划_0402项目管理计划

什么是项目管理计划&#xff1f;在没有学过PMBOK之前&#xff0c;通常&#xff0c;老板找到项目工程师说&#xff0c;这个项目&#xff0c;你做一个计划出来。这时候讲的计划&#xff0c;指的是项目的进度计划。而我们这里讲的项目管理计划&#xff0c;是包含了所有知识领域的一…