条件与循环

01

条件语句

编程时经常检查一系列的条件,并根据此条件决定采取什么措施。在Python中,if语句让你能够检查程序的当前状态,并据此采取相应的措施。每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

True(真)与False(假)的判断:

整数0代表假,1代表真;

真和假是每个对象的固有属性,每个对象不是真就是假;

数字如果非零,则为真;

对象如果非空,则为真;

特殊对象None被认作假;

if语句有很多种,选择那种取决于要测试的条件数:

单分支结构(简单的if语句);

双分支结构(if-else语句);

多分支结构(if-elif-else语句);

Python并不要求if-elif结构后面必须有else代码块。else是一条包罗万象的语句,只要不满足任何if和elif中的条件测试,都会执行else代码块,这可能会引入无效甚至恶意数据。如果知道最终要测试的条件,建议使用一个elif代码块代替else代码块。

单分支结构(if):

age = 19

if age >= 18:

print("You are old enough to vote!")

双分支结构(if-else):

age = 17

if age > 18:

print("You are old enough to vote!")

else:

print("Sorry, you are too young to vote.")

双分支+列表+for循环(教材Page77代码):

requested_toppings = ['mushrooms','green peppers','extra chess']

for requested_topping in requested_toppings:

if requested_topping == 'green peppers':

print("Sorry,we are out of green peppers right now.")

else:

print("Adding " + requested_topping + ".")

print("\nFinished making your pizza!")

02

用户输入

在开发中为了增加程序与用户的互动性需要增加获取用户输入的功能,在python中可以使用input()函数来获取用户的输入。input()函数的效果就是让程序暂停下来,等待用户的输入,然后将输入保存在变量中,这样程序后面的代码就可以来根据该变量进行各种处理了。每当使用input()函数时,都应指定清晰易懂的提示,准确地指出希望用户提供什么样的信息。使用input()时,默认将用户的输入作为字符串,如果想把输入的内容转换为数字型变量就可以函数int()来将输入信息转换为数值形式。

举例:

height = input('How tall are you,in inches? ')

type(height) #查看数据类型

以上代码的输出为:

03

循环语句

Python提供了两种基本的循环结构语句(while语句、for语句)。while循环一般用于循环次数难以提前确定的情况,也可以用于循环次数确定的情况。for循环一般用于循环次数可以提取确定的情况下,尤其是由于枚举序列或迭代对象中的元素。for循环是一种遍历列表的有效方式,但在for循环中不应该修改列表,否则导致Python难以跟踪其元素。要在遍历列表的同时对其进行修改,可使用while循环。相同或不同的循环结构之间可以相互嵌套,实现更为复杂的逻辑。

格式:

①while 表达式:

循环体

②for 取值 in 序列或迭代对象:

循环体

举例(Page105):

prompt = "\n Tell me someing, and I will repeat it back to you:"

prompt += "\n Enter 'quit' to end the program. "

message = ""

while message !='quit':

message = input(prompt)

print(message)

以上代码的输出为:

*红色框表示输入的内容input()

break 和 continue:

在while循环进行中,如果满足一定条件而中断整个循环或本次循环,可以使用break或continue。break语句在while循环和for循环中都可以使用,一般放在if结构中,一旦break被执行,将使得这个循环提前结束。continue语句的作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环。

break:

prompt = "\n please enter the name of a city you have visited: "

prompt += "\n (Enter 'quit' when you are finished.) "

while True:

city =input(prompt)

if city =='quit':

break

else:

print("I'd love to go to " + city.title() + "!")

continue:

current_number = 0

while current_number

current_number +=1

if current_number % 2 == 0:

continue

print(current_number)

*以上两个例子不再做输出的演示(都是书上的例子)。

while处理列表(也可以处理字典)

直接看例子(Page110)

#首先创建一个待验证用户用户列表,和一个用户存储已验证的用户列表(空)

unconfirmed_users = ['alice','brian','candace']

confirmed_users = []

#验证每个用户,直到没有未验证的用户为止,将每个经过验证的用户都移到已验证的列表中

while unconfirmed_users:

current_user = unconfirmed_users.pop()

print("Verifying user: " + current_user.title())

confirmed_users.append(current_user)

#显示所有已验证的用户

print("\n The following users have been confirmed:")

for confirmed_user in confirmed_users:

print(confirmed_user.title())

输出结果如下:

04

后记

随着时间的推进,我们的学习正在慢慢深入,内容逐渐增多,部分内容容易遗忘或混淆,希望同学们多多练习,保持着对python的热情与激情。接着后面,我们会学习函数与类,它们为进阶课程。打好基础才能更快提高,切记!

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181015G256VT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券