云学python (第2章先做键盘侠(下)选择结构和循环结构)《vamei-从Python开始学编程》 笔记

本文详细介绍了Python中的选择结构(if、elif、else)和循环结构(for、while),阐述了如何利用这些结构实现条件判断和重复执行。通过实例展示了if的嵌套使用,for循环对序列的遍历,以及使用range()函数控制循环次数。同时,还提到了continue和break在循环中的应用,帮助理解如何跳过循环部分或提前结束循环。

2.3计算机懂选择

1.if结构

之前Python程序都是指令式的,按顺序执行。指令不能跳过,也不能回头重复。

......只要有了 “选择”和“循环”两种语法结果“跳转”就再无必要。相对于“跳带来的“面条式程序结构化的程序变得赏心悦目

例子:如果一个房子的售价超过 50万,那么交易费率为1%,否则为2%。我们用选择结构来写一个程序(并且分别加一些从属代码):

total = 980000	
if total > 500000:	#该条件成立
    print("总价超过50万”)	#执行这一句的打印
    transaction_rate = 0.01	#设置费率为0.01
else:	# else部分不执行(也可以不写)
    print("总价不超过50万“)	
    transaction_rate = 0.02	
print(transaction rate)	#结果为0.01

2.小弟靠边站

用缩进来表明代码的从属关系,是Python的特色。正如我们在第章中介绍的,用缩进来标记代码关系的设计源自ABC语言。作为对比, 我们可以看看C语言的写法:

if ( i > 0 ) {
x = 1;
y = 2;
}

Python中,去掉了周围的括号,去除了每个语句句尾的分号, 表示块的花括号也消失了。多出来了 if...之后的:(冒号),还有就是x=1y=2前面有四个空格的缩进。

 3. if的嵌套与elif

这里有三个块,分别由ifelifelse引领,你也可以在if和else之间增加多个elif,让程序有更多分支,还可以让一个if结构嵌套在另一个if结构中(通过缩进四个空格)。

2.4计算机能循环

1.for循环

循环用于重复执行一些程序块,在Python中,循环有forwhile两种,我们先来看for循环。

这个循环就是每次从列表[3,4.4,“life”]中取出一个元素,然后将这个元素赋值给a,之后执行隶属于for的程序,也就是调用print()函数,把这个元素打印出来。可以看到,for的一个基本用法是在in后面跟一个序列。序列中元素的个数决定了循环重复的次数。

for a in [3,4.4,"life"]:
    print(a)	#依次打印列表里的各个元素

如果我们只是想简单地重复特定的次数,不想建立序列,那么我们可以使用Python提供的range()函数:

for i in range(5):
    print("Hello World!")	# 打印五次"Hello World!
程序中的5range()函数说明了需要重复的次数。因此,隶属于for 的程序执行了5次。这里,for循环后面依然有一个变量i,它为每次循环起到了计数的功能:0,1,2,3,4
#我们看一个for循环的实用例子。我们之前用元组记录了房贷的逐年利率:
interest_tuple = (0.01, 0.02, 0.03, 0.035, 0.05)
#假如有50万元的房贷,且本金不变,那么每年要还的利息有多少呢? 用for循环计算:
total = 500000
for interest in interest_tuple:
    repay = total * interest
    print(repay)

2. while 循环 

#Python中还有一种循环结构,即while循环。while的用法是:
i = 0
while i < 10:
    print(i)
    i = i + 1	#从。打印到9

一旦有了无限循环,程序就会不停地运行下去,直到程序被打断或电脑关机。但有时,无限循环也是有用处的。很多图形程序中就有无限循环,用于检查页面的状态等。无限循环可以用简单暴力的方法写出来:

while True:
    print("Hello World!")

3.跳过或终止 

continue #跳过循环的这一次执行,进行下一次的循环操作 

break #停止执行整个循环

下面的例子中使用了 continue

for i in range(10):
    if i == 2:
        continue
    print(i) 

当循环执行到2的时候,if条件成立,触发continue,不打印此时的i程序直接进行下一次循环,把3赋值给i,继续执行for的隶属语句。

for i in range(10):
    if i == 2:
        break    
    print(i) #只打印0和1

当循环执行到i= 2的时候,if条件成立,触发break,整个循环停止。 程序不再执行for循环内部的语句。 

小练习放在后面~

然鹅,打工去了 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值