python实现isprime函数_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...
Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数
一、Python参数类型
形参:定义函数时的参数变量。
实参:调用函数时使用的参数变量。
参数传递的过程,就是把实参的引用传递给形参,使用实参的值来执行函数体的过程。
在 Python 中,函数的实参/返回值都是是靠引用来传递的。
在调用函数时,通常会传递参数,不同的参数处理不同的数据。一般有普通参数、默认参数、可变位置参数、可变关键字参数等。
1.普通参数:按照参数位置,依次传递参数。
defadd(x,y):return x +yprint(add(3,4))
2.默认参数:定义函数时,可以给某个参数赋一个默认值。
调用函数时,如果没有传入默认参数的值,则在函数内部使用参数默认值。
要使用最常见的值作为默认值,从而简化函数的调用。
如果一个参数的值不能确定,则不应该设置默认值,具体的数值在调用函数时由外界传递。在调用函数时,如果有多个默认参数,需要指定参数名,这样解释器才能够知道参数的对应关系。
def add(x,y=1):return x+yprint(add(2))print(add(2,3))
当一个参数有默认值时,调用时如果不传递此参数,会使用默认值。
注意:带默认值参数必须在不带默认值参数之后,否则会报错。
3.可变位置参数:
定义参数时参数前面加一个*,表示这个参数是可变的,可以接受任意多个参数,这些参数构成一个元组,只能通过位置进行参数传递。实例如下:
求一组数字的最大值,最小值,参数个数:
def max(*a):
m=n=a[0]for x ina:if x>=m:
m=xelse:
n=xreturnm,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类型。
defadd(a,b):return a+b
data= [4,3]print(add(*data))#位置参数解构
data1 = {‘a‘:3,‘b‘:4}print(add(**data1))#关键字参数解构
二、程序练习题
5.2 实现isOdd()函数,参数为整数,如果整数为奇数,返回True,否则返回False。
实现代码如下:
defisOdd(num):if num%2!=0:returnTrueelse:returnFalse
s=eval(input("请输入一个整数:"))print(isOdd(s))
运行结果:
5.3 实现isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。
实现代码如下:
defisNum(num):try:
n=type(eval(num))if n==type(1):#输入为整型
returnTrueelif n==type(1.0):#输入为浮点型
returnTrueelif n==type(1+1j):#输入为复数
returnTrueexcept:returnFalse
n=input("请输入一个字符串:")print(isNum(n))
运行结果:
5.4 实现multi()函数,参数个数不限,返回所有参数的乘积。
实现代码如下:
defmulti(s):
m= 1
for i ins:
m*=int(i)returnm
n=input("请输入若干整数:").split()print(multi(n))
运行结果:
5.5 实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。
实现代码如下:
defisPrime(num):try:
num=eval(num)if type(num) == type(1):#判断输入是否为整型
if num<=1:#判断一个数字是否是质数:质数是一个只能被自己和1整除的大于1的正整数。注意1不是质数。
returnFalseelif num==2:#2是质数,这里单独作为一个条件是为了与下面的判断条件区分
returnTrueelse:for i in range(2,num):#这里考虑的是大于2的正整数num,将这个数依次除以从2到num-1的整数进行取模运算,只要有一个数使它余数为0就说明它不是质数
if num % i ==0:returnFalseelse:returnTrueelse:raise ValueError#引发ValueError异常
except ValueError:#传入参数异常处理
return "输入有误!请输入整数!"#这里没有使用print语句,如果没有给定return一个返回值,则函数的返回值为None
except:#其他异常处理
return "输入有误!请输入整数!"n= input("请输入一个整数:")print(isPrime(n))
运行结果:
Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数
python实现isprime函数_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...相关推荐
- python函数的参数可以接收哪些类型的数据_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...
Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...
- python一些小习题 田字格、isodd、isnum、multi、isprime、绝对素数、哥德巴赫猜想
Lily学python 一些小习题,答案和我的思路差好多啊,代沟,一定是代沟-- 1.1.定义函数输出一个简单的田字格. 建立主程序,由用户输入一个整数,输出更大的田字格图形. 输出结果: 这个好简单 ...
- python函数定义参数类型和返回值类型
python中我们也可以定义函数的参数类型和返回值类型,如下代码 #函数参数和返回值的类型声明,python函数类型的声明,更加有意义,更加实用一些 def add(a,b):''':param a: ...
- python学习之函数的参数类型
函数的参数类型有很多,比如说:位置参数.默认值参数.关键参数.命名关键参数.可变长度参数 (1)>>> 函数名 查看函数的内存地址 (2)>>& ...
- Python基本语法_函数属性 参数类型 偏函数的应用
目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...
- Python 自定义函数和参数类型
目录 1. 自定义函数 2. 参数 (1)必备参数 (2)关键字参数 (3)默认参数 (4)不定长参数 1. 自定义函数 Python 提供了很多内置函数如 set(), print() 等,用户也 ...
- python参数类型_Python 参数类型和参数匹配模型
Python 方法的参数种类有很多,而不是通常语言定义的那样, Python 方法的传参能力要比想象的强大很多.很多初学者可能对一些库中带 * 带 ** 的参数类型非常奇怪,但是其实这些语法正是保证 ...
- python函数的参数类型
目录 一.必须参数 二.关键字参数 三.默认参数 四.不定长参数 在调用函数时,信息可以作为参数传递给函数,参数在函数名后的括号内指定.python有以下四种参数传递类型: 必需参数 关键字参数 默认 ...
- python内置数字类型转换函数_Python学习 Day2-2 Python3的基本数据类型、数据内置类型转换函数...
Python3的基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型& ...
- [c++][语言语法]函数模板和模板函数 及参数类型的运行时判断
参考:http://blog.csdn.net/beyondhaven/article/details/4204345 参考:http://blog.csdn.net/joeblackzqq/arti ...
最新文章
- java null转换jason_Java进阶知识,轻松理解Java泛型
- 开启物联网的真正潜力需要在更大程度上克服数据挑战
- 潜在语义分析(LSA)相关知识
- python观察日志(part15)--命名元祖namedtuple
- 杭电1262--寻找素数对(打表)
- 浅谈mpvue项目目录和文件结构
- 如何选择一个Linux发行版本
- Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
- 偶尔看到的c11新特性1
- 安装linux-mysql-yum方式
- ERP库存管理 华夏
- 湖北省最新测绘资质审批拟批准结果已公示,看看有没有你们公司
- Facebook 如何识别出性工作者?
- 云宏与英特尔携手发布了基于英特尔®至强®可扩展平台全面升级
- 高德地图的点聚合效果下的点的添加和删除
- 项目中关于图片上传与剪裁的流程
- 2018 ACM-ICPC 宁夏预选赛网赛 B-Goldbach
- Unity 用于投掷物品的一阶贝塞尔曲线
- pdf文件转图片(java实现)
- 乱炖“简书交友”数据之代码(2):关键词抽取、Word2Vec词向量
热门文章
- (超详细)张正友标定法原理及公式推导
- 计算机在材料科学中的应用上机二,计算机在材料科学与工程中应用综合实验
- PHP 每日学习函数之 floatval 函数
- 用什么系统搭建nas服务器,自己家里搭建NAS服务器有什么好方案
- uview框架u-form表单校验,rules校验对象中对象的值(解决 当form属性嵌套对象时未取到值的问题)
- 四招搞定托业(TOEIC)英语阅读
- 功能测试主要做什么?
- python中读取列表所有元素_python获取所有子元素
- 感性负载,容性负载,阻性负载
- PDF编辑方法,怎么在PDF中添加图片