在学习流程控制语句之前,首先要学习如何表示这些 yes
和 no
选项。
同时也需要理解,如何将这些分支节点写成Python代码。
要做到这一点,先看看布尔值、比较操作符和布尔操作符。
至此,已知如何在条件为真(或假)时执行操作,但如何重复操作多次呢? 例如,可能想创建一个程序,每月都提醒支付房租。 如果只使用已介绍过的工具,必须像下面这样编写这个程序(伪代码):
send mail
wait one month send mail
wait one month send mail
wait one month
(... and so on)
但是如果希望程序这样不断执行下去,直到人为停止,该如何办呢?基本上, 需要编写类似于下面的代码(也是伪代码):
while we aren't stopped:
send mail
wait one month
再来看一个更简单的例子,假设要打印1~100的所有数。同样可采用笨办法。
print(1)
1
print(2)
2
print(3)
3
...
print(99)
99
print(100)
100
但如果愿意使用笨办法,就不会求助于Python了,不是吗?
spam = True
spam
True
True
True
True == 2 + 2
False
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
如下代码:
# num=int(input("输入一个数字:"))
num = 10213
if num%2==0:
if num%3==0:
print ("你输入的数字可以整除 2 和 3")
else:
print ("你输入的数字可以整除 2,但不能整除 3")
else:
if num%3==0:
print ("你输入的数字可以整除 3,但不能整除 2")
else:
print ("你输入的数字不能整除 2 和 3")
你输入的数字不能整除 2 和 3
print('Age:', 42)
Age: 42
如上所见,在参数之间插入了一个空格字符。要合并文本和变量值, 而又不想使用字符串格式设置功能时,这种行为很有帮助。
name = 'Gumby'
salutation = 'Mr.'
greeting = 'Hello,'
print(greeting, salutation, name)
Hello, Mr. Gumby
如果字符串变量 greeting
不包含逗号,如何在结果中添加呢?不能像下面这样做:
print(greeting, ',', salutation, name)
Hello, , Mr. Gumby
因为这将在逗号前添加一个空格。下面是一种可行的解决方案:
print(greeting + ',', salutation, name)
Hello,, Mr. Gumby
它将逗号和变量 greeting
相加。如果需要,可自定义分隔符:
print("I", "wish", "to", "register", "a", "complaint", sep="_")
I_wish_to_register_a_complaint
可自定义结束字符串,以替换默认的换行符。 例如,如果将结束字符串指定为空字符串, 以后就可继续打印到当前行。
print('Hello,', end='')
print('world!')
Hello,world!
注意:也可使用制表符来缩进代码块。 Python将制表符解释为移到下一个制表位(相邻制表位相距8个空格), 但标准(也是更佳的)做法是只使用空格(而不使用制表符)来缩进, 且每级缩进4个空格。
在同一个代码块中,各行代码的缩进量必须相同。下面的伪代码(并非真正的Python代码) 演示了如何缩进:
this is a line
this is another line:
this is another block
continuing the same block
the last line of this block
phew, there we escaped the inner block
在Python中,使用冒号( :
)指出接下来是一个代码块,并将该代码块中的每行代码都缩进相同的程度。
发现缩进量与之前相同时,就知道当前代码块到此结束了。