语句
一般所有高级语言,都包含如下语句,Python也不例外:
- 循环语句:容许一些语句反复运行数次。循环可依据一个默认的数目来决定运行这些语句的次数;或反复运行它们,直至某些条件改变。
- 条件语句:容许仅当某些条件成立时才运行某个区块。否则,这个区块中的语句会略去,然后按区块后的语句继续运行。
- 无条件分支语句容:许运行顺序转移到程序的其他部分之中。包括跳跃(在很多语言中称为Goto)、副程序和Procedure等。
循环、条件分支和无条件分支都是控制流程。
if语句
谈到语句,不要被吓住。看下面的例子先:
if a==4:
print "it is four"
else:
print "it is no four"
逐句解释一番,注意看注释.
if a==4: #如果变量a==4是真的,a==4为True,就
print "it is four" #打印“it is four”。
else: #否则,即a==4是假的,a==4为False,就
print "it is not four" #打印“it is not four”。
以上几句话,就完成了一个条件判断,在不同条件下做不同的事情。因此,if语句,常被翻译成“条件语句”。
条件语句的基本样式结构:
if 条件1:
执行的内容1
elif 条件2:
执行的内容2
elif 条件3:
执行的内容3
else:
执行的内容4
执行的内容1、内容2,等,称之为语句块。elif用于多个条件时使用,可以没有。另外,也可以只有if,而没有else。
提醒:每个执行的内容,均以缩进四个空格方式。
例子
输入一个数字,并输出输入的结果,如果这个数字大于10,那么同时输出大于10,如果小于10,同时输出提示小于10,如果等于10,就输出表扬的一句话。
这个问题的流程图:
理解了流程图中的含义,就开始写代码,代码实例如下:
#! /usr/bin/env python
#coding:utf-8
print "请输入任意一个整数数字:"
number = int(raw_input()) #通过raw_input()输入的数字是字符串
#用int()将该字符串转化为整数
if number == 10:
print "您输入的数字是:%d"%number
print "You are SMART."
elif number > 10:
print "您输入的数字是:%d"%number
print "This number is more than 10."
elif number < 10:
print "您输入的数字是:%d"%number
print "This number is less than 10."
else:
print "Are you a human?"
注意,raw_input()函数 是获得用户在界面上输入的信息,而通过它得到的是字符串类型的数据。
>>> a=raw_input()
10
>>> a
'10'
>>> type(a)
<type 'str'>
>>> a=int(a)
>>> a
10
>>> type(a)
<type 'int'>
>>> a = int(1)
>>> type(a)
<type 'int'>
>>> b = str(a)
>>> b
'1'
刚刚得到的那个a就是str类型,如果用int()转换一下,就变成int类型了。
看来int()可以将字str类型的数字转换为int类型,str()可以将int类型的数字转化为str类型.
小知识
上面的那段代码,开始有一行:
#! /usr/bin/env python
这句话以#开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的python解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是/usr/bin python,表示python解释器在/usr/bin里面。但是,如果写成/usr/bin/env,则表示要通过系统搜索路径寻找python解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对Unix系列操作系统而言。对与windows系统,这句话就当不存在。