Python 学习 Part1
2024-09-05 08:44:16
1. 斐波那契数序列
>>> a,b=0,1
>>> a
0
>>> b
1
>>> while b<10:
print(b)
a,b=b,a+b 1
1
2
3
5
8
关键字end(参数)可以用来避免输出后换行:
>>> a,b=0,1
>>> while b<1000:
print(b,end=' ')
a,b=b,a+b 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
2. Python流程控制
- if Statements if 语句:if语句可以有零个或多个elif分支语句,并且else分支语句是可选的。
>>> x=int(input("Please enter an integer: "))
Please enter an integer: 42
>>> if x<0:
x=0
print("Negative changed to zero")
elif x==0:
print("Zero")
elif x==1:
print("Single")
else:
print("More") More
- for语句:对任何序列(列表或字符串)的项按照它们在序列中的顺序进行迭代
>>> a=["cat","window","defenstrate"]
>>> for x in a:
print(x,len(x)) cat 3
window 6
defenstrate 11
>>> for x in a[:]:
if len(x)>6:
a.insert(0,x) >>> a
['defenstrate', 'cat', 'window', 'defenstrate']
- range()函数
如果你必须迭代一个数字序列,内置函数range()会派上用场。它生成一个等差级数序列
>>> for i in range(5):
print(i,end=' ') 0 1 2 3 4
>>> for i in range(5,10):
print(i, end=' ') 5 6 7 8 9
>>> for i in range(0,10,3):
print(i, end=' ') 0 3 6 9
可以通过结合使用range()和len(), 来迭代序列的索引
>>> a=['Mary','had','a','little','lamb']
>>> for i in range(len(a)):
print(i,a[i]) 0 Mary
1 had
2 a
3 little
4 lamb
list()从迭代(对象)中创建列表
>>> print(range(10))
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- break, continue,以及循环的else子句
break语句用于跳出最近的for循环或while循环;continue语句继续循环的下一次迭代过程;
>>> for n in range(2,10):
for x in range(2,n):
if n%x==0:
print(n,'is not a prime number')
break
else:
print(n,'is a prime number') 2 is a prime number
3 is a prime number
4 is not a prime number
5 is a prime number
6 is not a prime number
7 is a prime number
8 is not a prime number
9 is not a prime number
- pass语句:不做任何事,它被用于语法结构上需要一条语句但并不做任何事时
pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作,比如:
>>> while True:
pass
pass通常用来创建一个最简单的类:
>>> class MyEmptyClass:
pass
pass在软件设计阶段也经常用来作为TODO,提醒实现相应的实现,比如:
>>> def initlog(*args):
pass #please implement this
- 定义函数
>>> def fib(n):
a,b=0,1
while b<n:
print(b,end=' ')
a,b=b,a+b >>> fib(2000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
>>> f=fib
>>> f(100)
1 1 2 3 5 8 13 21 34 55 89
>>>
定义一个返回斐波那契数列数字列表的函数,而不是打印它:
>>> def fib3(n):
result=[]
a,b=0,1
while b<n:
result.append(b)
a,b=b,a+b
return result >>> f300=fib3(300)
>>> f300
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]
默认值赋予在函数定义是定义域的值,例如:
>>> def f(arg=i):
print(arg) >>> i=6
>>> f()
5
Important warning:默认值只被赋值一次。下面的函数在后续的调用中会累计前面传给它的参数:
>>> def f(a,L=[]):
L.append(a)
return L >>> print(f(1))
[1]
>>> print(f(2))
[1, 2]
>>> print(f(3))
[1, 2, 3]
如果不想让默认值在后续调用中累积,可以:
>>> def f2(a,L=None):
if L is None:
L=[]
L.append(a)
return L >>> print(f2(1))
[1]
>>> print(f2(2))
[2]
最新文章
- 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题
- zz剖析为什么在多核多线程程序中要慎用volatile关键字?
- PHP截取中文无乱码函数——cutstr
- Monkey测试的策略和分析
- javascript 内置对象
- App开发
- jquery 新建的元素事件绑定问题
- 在windows下的mysql使用
- inverse 相关设置
- 从 man 指令起步(info简介)
- 面向对象重写(override)与重载(overload)区别---转载“竹木人”
- MergeSort 归并排序
- H5实现图片优化上传
- jTDS驱动兼容性问题
- java_访问权限修饰符
- 6天通吃树结构—— 第五天 Trie树
- spring 分散配置
- ural2014 Zhenya moves from parents
- spring-boot 根据环境启动
- ylbtech-协议-网络-安全协议:HTTPS
热门文章
- vmware 桌面虚拟化 horizon view 介绍(使用微软的RDP协议或vmware 专有的PCoIP协议,连接到虚拟桌面,并且可以使用本地的USB设备、本地存储)
- js复杂数据格式提交
- Objective-C学习之解析XML
- hdu-2647 Reward &;&; hdu-2049产生冠军 &;&;hdu-3342Legal or Not(拓扑排序)
- HDU3440 House Man (差分约束)
- [APIO 2015] 雅加达的摩天楼
- darknet源码学习
- Java并发实现线程阻塞原语LockSupport
- MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致
- Summit Online Judge