python在线解答,python小白求解答

1,python小白求解答
2,python问题求现象解释http://docs.python.org/2/tutorial/datastructures.html
3,python 编程求帮助以下方法是low high包含边界的情况另外一个函数都raise error 了怎么能return ???哦,又看了下发现你自带检测质数的函数def count_prime(low,high): if low > high: raise ValueError primes = [1,2] for num in range(3,high + 1): isPrime = True for prime in primes: if num % prime == 0 and prime != 1: isPrime = False break if isPrime: primes.append(num) numOfPrimes = 0 for prime in primes: if prime >= low and prime <= high: numOfPrimes += 1 return numOfPrimes那么def count_prime(low:int,high:int): c = 0 if low>high: raise ValueError for i in range(low, high+1): if predicate.is_prime(i): c+=1 return c颠倒一下顺序就行函数内容应该很简单,我想对于已经会python的人来说易如反掌,我就不写了 。你的问题是要让一个函数同时return和raise异常,这是一个概念问题,异常并不是返回函数的方式,return才是,所以在函数必须结束的时候选择return,返回相应的值即可 。而在函数内部,你随时可以使用raise,这样在函数的外面可能就觉得它是返回了两个东西,但其实不是的,因为异常并不是返回函数的方式 。异常机制是为了错误恢复而设计的一种特殊的“返回值” 。如果一个函数执行过程中抛出了异常,就不会再有普通的返回值 。反之亦然 , 如果一个函数有返回值,就不会抛出异常了 。两个东西同时出现是不可能的 。一个折衷的方法:函数中raise ValueError(0), 从例外中提取参数 。#函数定义#....if low > high:raise ValueError(0)#...#调用函数try:r = count_prime(19, 10)except ValueError as ve:r = ve.args[0]啊哈,这个问题我尝试着解答哈 。python是个非常舒服的语言 , 比如你这句start,stop=0,start其实已经完成了两个赋值操作1.start=02.stop=startpsp.s.这种方法有什么用处呢?在交换数字的时候特别有用比如你a=3,b=4你写成a,b=b,a 执行完后a=4,b=3就直接完成了两个数字交换的操作,python魅力所在?。∩踔量梢越换籲个数字a=3,b=4,c=5写成a,b,c=b,c,a执行完后a=4,b=5,c=3好了 , 第一个问题解答完了 。第二个问题,如果输入interval(10) , 我们来看下怎么执行的 。因为只有一个参数,所以start被赋值了,值为10,即start=10,stop=none,step=1 后面两个参数默认所以start,stop=0,start 执行完后 start=0,stop=10(明白了吧)所以i=start=0并非你说的i=start=10所以程序就进入while循环啦之后应该不用我解释了哈!python是一个非常好玩的脚本语言,希望你能坚持!我学了一个多月了,越来越热爱它了,加油!共勉之!【python在线解答,python小白求解答】

    推荐阅读