流程控制语句

流程控制

if语句

选择结构;一般使用if…elif…elif…代替其他语言的switch…case语句.


代码练习:

x = int(input("Please enter an integer: "))
if x < 0:
    x = 0
    print("Negative changed to zero")
elif x == 0:
    print("Zero")
elif x == 1:
    print("Single")
else:
    print("More")

for语句

Python的for语句可以按照元素出现的顺序迭代任何序列(列表或字符串)
例如:

# for可以迭代任何序列(列表或字符串)
words = ['cat', 'window', 'defenestrate']
for w in words:
    print(w)

如果要在循环内修改正在迭代的序列,我们最好首先创建原序列的拷贝.我们需要知道,迭代序列不会隐式地创建副本,我们可以使用切片来创建一个序列副本:

words = ['cat', 'window', 'defenestrate']
#若想在循环内修改正在迭代的序列,建议首先创建原序列的拷贝
for w in words[:]:
    if len(w) > 5:
        words.insert(0,w)
print(words)

range()函数

我们可以使用内置函数range()来创建一个数字序列,以便方便遍历:

#range函数生成等差数列
for i in range(3):
    print(i, end=" ")
print()

我们也可以指定range()的范围:

#设置range函数生成范围
for i in range(5,9):
    print(i, end=" ")
print()

我们也可以指定range()的步长:

#设置range函数的步长
for i in range(0, 10, 3):
    print(i, end=" ")
print()

range的一个很重要的特性是可以迭代序列:

#range()可以迭代序列
a = ['mary','had','a','little','lamb']
for i in range(len(a)):
    print(i, a[i])

break和continue,以及循环中else子句

break可以跳出最近的for或while循环.
continue可以跳过当前的循环,继续下一次迭代.
循环中的else子句:当for循环迭代完整个列表或while循环条件变为假,而非由break语句终止时,就会执行这个else语句.


定义函数

关键字def定义函数

def fib(n):
    """输出n之前的斐波那契数列"""
    a, b = 0, 1
    while a < n:
        print(a, end=" ")
        a, b = b, a+b
    print()
fib(10)
# 函数可以赋值到一个变量
f = fib
f(5)

注意:Python中都是对象引用,所以一个函数是可以赋值给一个变量的
补充:没有返回值的函数称为过程,有返回值的函数称为函数;python的函数都有返回值,如果没有写return的话就会返回None,解释器一般不会打印None出来


练习:写一个函数返回斐波那契数列的列表,而不是打印出来

def fib2(n):
    """将n之前的斐波那契数列存到一个序列中,并返回数列"""
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return l
print(fib2(7))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值