控制结构主要是迭代和分支结构,对于迭代主要是while循环和for循环。对于Python的算法,和C/C++有个较大的区别在于其不用提前声明临时变量的类型,如C/C++里的一个for循环:for(int i=1;i++;i<100),而在Python里面则是for i in range(1,100)不需要声明i是整型的。 对于迭代循环中的遍历情况,通常是按数据类型来遍历的,例如代码:
for word in ['hello', 'python']: for alphabet in word: print(alphabet,end=' ') 最后的输出结果是h e l l o p y t h o n结果是单个输出了字母,这表明对于1.1.3提到到的集合类数据,遍历时先遍历它的子集(特别注意字符串也是一种集合数据类型)。 分支结构主要指的是if-else、if-elif-else或者只有if的结构。 值得注意的是,列表可以通过迭代结构和分支结构来创建,这种方法也被叫做列表解析式。一般的结构为[元素的表达式 for迭代 分支if]得到以元素表达式创建出的数组,如
>>>[alp.upper() for ch in 'python' if alp not in 'aeiou'] ['P, 'Y, 'T, 'H, 'N] 其中的alp.upper.()即元素的表达式,for在字符串中变量字母,并用条件判断字母需要不在aeiou这五个字母之中(in的巧妙)。程序在编写的过程中出现的错误分为两种,即语法错误和逻辑错误。语法错误Python的编译器就无法运行,而逻辑错误编译器可以运行但是会返回错误的结果,程序运行时的错误也叫异常。 对于异常情况,Python提供了try:-except:语句来处理抛出的异常,raise语句来处理运行时的异常等。
import math a=int(input("enter a nuber")) try: print(math.sqrt(a)) except: print("error,i will use its abstract") print(math.sqrt(abs(a))) 则当输入数字为-4得到的结果为2.0 利用raise在运行时直接打印错误 import math a=int(input("enter a nuber")) if a<0: raise RuntimeError(("error ") else: print(sqrt.(a))