一、if判断
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
if判断结构:
if 条件:
动作
elif 条件:
动作
else:
动作
if判断年龄:
age_of_princal = 56
guess_age = int(input(">>:"))
if age_of_princal == guess_age:
print("Yes, you got it...")
elif guess_age < age_of_princal:
print("No, you shoud try biger..")
else:
print("No,you shoud try smaller..")
二、for循环
此循环为有限循环,有次数限制。
for循环结构:
for i in ...:
动作
打印0、1、2三个数
for i in range(3):
print(i)
打印偶数
for i in range(10):
if i % 2 == 0:
print(i)
for循环编写登陆程序:
编写一个登陆程序,允许用户登陆三次,如果三次输入错误,退出程序。
_use = "Mu"
_passwd = "admin"
for i in range(3):
username = input("Username: ")
password = input("Password: ")
if username == _use and password == _passwd:
print("Welcome %s login..." % username)
break
else:
print("Username or Password is Falst")
else:
print("test login too many!!!")
else的用法
当循环正常结束时,最后再执行else后边的动作。正常结束指循环不报错或不碰到break。
for...else...结构
for 条件:
动作
else:
动作
三、while循环
只要条件符合,就可以一直执行动作。这种循环叫做 死循环,一经触发,只要条件符合,就无线循环。
此条件实际上就是布尔值-->True、False。若想进行某判断不定期结束循环,可设定变量为布尔值(True),达到目的想要结束时,重新设定布尔值(False)以结束循环。
循环在日常的使用中,还需要配合几个表达方法,分别是:break、continue、end、else,在后文中会详细讲解。
while循环结构:
while 条件:
动作
打印只要满足num小于等于10,就一直打印:
num = 1
while num <= 10:
print(num)
num = num + 1
只打印偶数:
num = 1
while num <= 100:
if num % 2 == 0: # $运算为取余数
print(num)
num = num + 1
只打印奇数:
num = 1
while num <= 10:
print(num)
num = num + 2
break的用法:
终止循环,当循环碰到break就会立即终止。
打印1到10的整数,当num==4的时候,终止循环。
num = 1
while num <= 10:
print(num)
num = num + 1
if num ==4:
break
continue的用法:
跳出次循环,之后的循环继续,不受到影响。
此循环首先是加一次1再进行判断打印,所以第一次打印出来的是'2',当'num=4'时,continue跳过或者说是结束了这次循环,不执行continue的结果,所以不打印'4',当最后一次循环的时候'num = 10',和第一次一样,是先加1,再进行判断打印,所以会出现'11'。
num = 1
while num <= 10:
num = num + 1
if num == 4:
continue
print(num)
else的用法:
当循环正常结束时,最后再执行else后边的动作。正常结束指循环不报错或不碰到break。
while...else...结构:
while 条件:
动作
else:
动作
else用法测试:
num = 1
while num <= 10:
num = num + 1
if num == 4:
continue
print(num)
else:
print("This is else statement")l
四、表达式小练习
猜用户年龄:
首先给定一个一个默认的用户年龄,在input中输入猜测的年龄,如果猜对了,就终止循环,如果错了,就一直循环下去。
此条件实际上就是布尔值-->True、False。若想进行某判断不定期结束循环,可设定变量为布尔值(True),达到目的想要结束时,重新设定布尔值(False)以结束循环。也可以直接给定布尔值(True),如果对了,使用break结束循环。
real_age = 50
flag = True
while flag:
user_input_age = int(input("please input age:"))
if user_input_age == real_age:
print("Yes")
flag = False
elif user_input_age > real_age:
print("you shoud input small!")
else:
print("you shoud input biger!")
print("End")
View Code
双while嵌套测试:
打印num1小于等于5时,num2后边接0-7。使用end改变换行符。
num1 = 0
while num1 <= 5:
print(num1,end="_")
num1 = num1 + 1
num2 = 0
while num2 <= 7:
print(num2,end="-")
num2 = num2 + 1
print()
View Code
输出长方形:
使用#号输出一个长方形,用户可以指定长和高,如果长为3,高为4,则输出一个横着有3个#竖着有4个#号的长方形。
long = int(input("Long:"))
height = int(input("Height:"))
num_height = 1
while num_height <= height: # 当高小于出入的高时,while循环成立
num_long = 1 # 定义默认长等于1
while num_long <= long: # 当长小于等于输入的长时,while循环成立
print("#", end="") # 打印#号不换行,也就是说当输入的长是几就答应几个#号
num_long = num_long + 1 # 循环完一次每次num_long+1,一次循环完成其实是打印一行
print() # 换行
num_height = num_height + 1 # 控制高度,每次+1,实质上高度就是每次内循环结束后的强制换行
View Code
输出直角三角形
输出一个直角三角形,用户指定行数如下图(如果上下翻转,怎么实现?)
######
#####
####
###
##
#
line = int(input("Line:"))
while line > 0:
tmp = line
while tmp > 0:
print("#", end="")
tmp = tmp - 1
print()
line = line - 1
View Code
打印九九乘法表
second = 1
while second <= 9:
first = 1
while first <= second:
print(str(first)+ "*"+ str(second)+ "="+ str(first * second), end="\t")
first = first + 1
print()
second = second + 1
View Code
编写登陆程序
编写一个登陆程序,要求用户输入账号密码,三次机会,如果三次机会没有输入正确,询问用户时候继续要三次登陆机会,如果不需要,退出程序,如果需要,再给三次登陆机会。
_use = "Mu"
_passwd = "admin"
count = 0
while count < 3:
username = input("Username: ")
password = input("Password: ")
count = count + 1
if username == _use and password == _passwd:
print("Welcome %s login..." % username)
break
else:
print("Username or Password is Falst")
if count == 3:
yes_no = input("Do you want continue test? Please input Yes or No:")
if yes_no == "Yes":
count = 0
else:
print("test login too many!!!")
View Code