Python3第3课-----编程入门(if、for,while、迭代器与生成器)
2018-04-03 22:54
1051 查看
Python中没有switch – case语句
注释代码的快捷键:选择多行后,alt+3完成注释,alt+4取消注释
Please input an integer:9
[1, 1, 2, 3, 5, 8, 13, 21, 34]
1
2
3
5
8
13
21
34
【方案二】
`1 1 2 3 5 8
可以用Ctrl+C结束循环
输出:
0
1
2
3
4
5
输出:
3
4
5
输出:
3
5
7
9
输出:
-2
-4
-6
-8
可以用range()函数创建一个列表:
输出:[2, 3, 4, 5]
输出:
2是素数
3是素数
4=2*2
5是素数
6=2*3
7是素数
8=2*4
9=3*3
输出:
False
True
输出:
1
2
3
【方式二】
输出:
1
2
3
输出:
1 1 2 3 5 8 13 21 34 55 89
注释代码的快捷键:选择多行后,alt+3完成注释,alt+4取消注释
斐波那契数
【方案一】def f(n): if(n<1): print('input error') return -1 elif(n==1 or n==2): return 1 else: return f(n-1)+f(n-2) n=int(input("Please input an integer:")) result=[] for i in range(1,n+1): result.append(f(i)) print(result) for i in range(1,1+n): print(result[i])
Please input an integer:9
[1, 1, 2, 3, 5, 8, 13, 21, 34]
1
2
3
5
8
13
21
34
【方案二】
a,b=0,1 while b<=10: print(b,end=' ') a,b=b,a+b
`1 1 2 3 5 8
无限循环
while 4>1:print("hahah")
可以用Ctrl+C结束循环
while-else循环
n=1; sum=0; while n<=100:sum+=n;n+=1 #Python应该没有++运算符 else:print(sum) #while循环结束后执行else后的语句
for循环
cities=['北京','天津','上海','广州','深圳'] for city in cities: if city == '上海': print('我找到上海了,别再执行循环了!') break else: print('循环结束了!')
range()函数
for i in range(6): #注意区间一般都是左闭右开这一规律,默认从0开始 print(i)
输出:
0
1
2
3
4
5
for i in range(3,6): print(i)
输出:
3
4
5
for i in range(3,10,2): #设置步长为2 print(i)
输出:
3
5
7
9
for i in range(-2,-10,-2): #设置步长是-2 print(i)
输出:
-2
-4
-6
-8
可以用range()函数创建一个列表:
lis=list(range(2,6)) print(lis)
输出:[2, 3, 4, 5]
else遇到break
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。for i in range(2,10): for j in range(2,i): if i % j == 0: print("%d=%d*%d"%(i,j,i/j)) break else: print("%d是素数"%i)
输出:
2是素数
3是素数
4=2*2
5是素数
6=2*3
7是素数
8=2*4
9=3*3
pass空语句
class A: pass class B(A): pass print(type(B())==A) print(isinstance(B(),A))
输出:
False
True
迭代器
【方式一】lis=[1,2,3] it=iter(lis) for i in it: print(i)
输出:
1
2
3
【方式二】
import sys lis=[1,2,3] it=iter(lis) while True: try: print(next(it)) except StopIteration: sys.exit()
输出:
1
2
3
生成器
import sys def f(n): # 生成器函数 - 斐波那契 a, b, cnt= 0, 1, 0 while True: if (cnt > n): return yield b #这里也可以用a,等会输出会该由01为0开始输出 a, b = b, a + b cnt += 1 it =f(10) # f 是一个迭代器,由生成器返回生成 while True: try: print (next(it), end=" ") except StopIteration: sys.exit()
输出:
1 1 2 3 5 8 13 21 34 55 89
相关文章推荐
- Python入门 列表 for while if...else... 函数
- python入门之语句(if语句、while语句、for语句)
- python入门之语句(if语句、while语句、for语句)
- Python入门(二)——运算符,求值顺序,if/for/while语句,list,tuple,dict,seq,set
- Python入门(三):if判断、for和while循环、break和continue
- Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]
- python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器
- Python控制流语句(if,while,for)
- python特殊的缩进和if while for的用法
- python基础-迭代器、for底层机制、生成器、list结合yield、__call__、yield函数列表
- python (if-else ,for, while, break, continue)
- 规范化的Python编程-迭代器和生成器
- 【Python入门】2、控制流语句if和while
- python-if,for,while
- python入门——条件语句、for、while循环4
- Python入门if语句&循环语句if、while
- Python成长之路第一篇(4)_if,for,while条件语句
- 初学python-----if,for,range,while语句结构
- python全栈开发-Day11 迭代器、生成器、面向过程编程
- python学习(十)赋值、表达式、if、while、for