python函数参数
def cost_primes(start = 1, end):count = 0
for i in range(start, end+1):
if(is_prime(i)):
count += 1
请问当函数只输入参数一个参数时给到end,当函数输入两个参数时按顺序给到start和end该怎样实现 cost_primes(end=123)#一个参数
cost_primes(123,456)#两个参数 默认参数不能位于位置参数之前。你的这种写法是会报错的。调换一下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)是一样的
页:
[1]