流程控制语句:
1. if/else语句
- if
if 0: print("false")
- if/else
if 0: print("false") else: print("true")
- if/elif/else
if 0: print("false") elif 1: print("true") else: print("go away!")
2. while 循环语句
while 判断条件: # 只有条件不成立时退出循环,如果条件为真,则循环就没有停止的时候,成为一个死循环 执行语句…… while 判断条件: pass else: 执行语句...... #只有while循环正常结束时,才会执行else;如果使用break终止while循环,则不会执行else
注意:while循环中,一定要设置结束循环条件,否则就会死循环;
3. for 循环语句
- for
for i in range(10): print("in the for:",i)
- for/else
for i in range(10): print("in the for:",i) else: print("break:",i)
4. 流程控制中用到的关键字
- break:跳出最近所在的循环(跳过整个循环语句)
- continue:结束当前循环,进入下一个循环(回到循环的开头开始下一次循环);
- pass:什么事也不做,只是空占位语句,保证语句的完整性;
- else:只有当循环正常离开时才会执行(也就是没有碰到break语句时)
- 也可以利用异常处理来处理循环:http://blog.csdn.net/churximi/article/details/51043595
5. 举例
猜年龄
# 版本1:
age = 50
flag = True
while flag:
guess_age=int(input("age:"))
if guess_age == age:
print("yes")
flag = False
else:
print("wrong")
#版本2:
age = 50
while True:
guess_age=int(input("age:"))
if guess_age == age:
print("yes",end="
") # 这里的end="
"是默认的,即换行符;
break
else:
print("wrong")
用户名密码验证
#版本1:
_user ="alex"
_passwd = "abc123"
passed_authentication = False #假,不成立
for i in range(3):
username = input("Username:")
password = input("Password:")
if username == _user and password == _passwd :
print("Welcome %s login...." % _user)
passed_authentication = True #真,成立
break #跳出,中断
else:
print("Invalid username or password !")
if not passed_authentication: #只有在True的情况下,条件成立
print("要不要脸,臭流氓啊")
#版本2:
_user ="alex"
_passwd = "abc123"
for i in range(3):
username = input("Username:")
password = input("Password:")
if username == _user and password == _passwd :
print("Welcome %s login...." % _user)
passed_authentication = True #真,成立
break #跳出,中断
else:
print("Invalid username or password !")
else:
print("要不要脸,臭流氓啊")
9x9乘方表
i=1
while i <=9:
j=1
while j<=i:
print(j,"x",i,"=",i*j,end=" ") #这里end=" ",会出现列不对齐情况;改用 end=" " 制表符即可对齐。
j+=1
print()
i+=1
6. 序列
序列就是按照一定的顺序排列起来的一系列元素。也是循环常常用到的。
range(start, stop[, step]) # start为开始数字;stop为结束数字;逗号为默认分隔符,step为步长;