鱼C论坛

 找回密码
 立即注册
查看: 2580|回复: 2

python函数参数

[复制链接]
发表于 2022-7-30 11:33:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def cost_primes(start = 1, end):
    count = 0
    for i in range(start, end+1):
        if(is_prime(i)):
            count += 1


请问当函数只输入参数一个参数时给到end,当函数输入两个参数时按顺序给到start和end该怎样实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-30 11:41:49 | 显示全部楼层
cost_primes(end=123)#一个参数
cost_primes(123,456)#两个参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-30 14:31:13 | 显示全部楼层
默认参数不能位于位置参数之前。你的这种写法是会报错的。调换一下start和end这两个参数的位置即可
def cost_primes(end, start=1):
    count = 0
    ...
end没有默认值,属于位置参数,必须给它传值才能调用函数;start有默认值,可以传值也可不传。所以调用函数时就可以这样写了:
cost_primes(3)  # 传入一个参数
cost_primes(start=23, end=66)  # 传入两个参数
注意传入两个参数时的写法,因为使用等号直接指定给某个参数传值,所以位置关系就不那么重要了,也就是说cost_primes(end=66, start=23)和cost_primes(start=23, end=66)是一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 20:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表