条件判断:
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
if语句的基本形式:
if 判断条件:
执行语句……
elif 判断条件:
执行语句......
else:
执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
如:
age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
可以有多个elif。
if
判断条件还可以简写,比如写:
if x:
print('True')
只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
。
注意input()输入的是str格式的数据:
如:
birth = input('birth: ')
if birth < 2000:
print('00前')
else:
print('00后')
当我们输入1982
,结果报错:
这是因为input()
返回的数据类型是str
,str
不能直接和整数比较,必须先把str
转换成整数。
Python提供了int()
函数来将str转换成整数(前提是该str可以转成对应整数,如果是字符会报错)。
s = int(input('birth: '))
if s < 2000:
print('00前')
else:
print('00后')
再次运行,就可以得到正确地结果。
运行截图如下:
循环:
Python提供了for循环和while循环(在Python中没有do..while循环)。
for in循环:
for x in sequence:
statements(s)
把sequence中每个元素代入变量x
,然后执行缩进块的语句。
如:for...in循环,依次把list或tuple中的每个元素打印出来:
names = ['A', 'B', 'C']
for name in names:
print(name)
执行这段代码,会依次打印names
的每一个元素:
range()函数:
Python提供一个range()
函数,可以生成一个整数序列,再通过list()
函数可以转换为list。
如:
>>> list(range(5))
[0, 1, 2, 3, 4]
这样就生成了一个5个元素的list,且元素依次为0到4。
我们可以在for in循环中也应用range()函数来简化程序:
sum = 0
for number in range(101):
sum = sum + number
print(sum)
这里的range直接生成了一个list,list内的值为0到100,共101个数字。
while循环:
while语句的基本形式:
while 判断条件:
执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假false时,循环结束。
如:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
运行截图如下:
break语句:
在循环中,break
语句可以提前退出循环。
如:
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
执行上面的代码,打印出1~10后,紧接着打印END
,程序结束。
continue语句:
continue
语句,跳过当前的这次循环,直接开始下一次循环。
如:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
执行上面的代码,打印的是1,3,5,7,9。
break
语句可以在循环过程中直接退出循环,而continue
语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if
语句使用。