Python_循环判断表达式
一、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")
双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()
输出长方形:
使用#号输出一个长方形,用户可以指定长和高,如果长为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,实质上高度就是每次内循环结束后的强制换行
输出直角三角形
输出一个直角三角形,用户指定行数如下图(如果上下翻转,怎么实现?)
######
#####
####
###
##
#
line = int(input("Line:")) while line > 0: tmp = line while tmp > 0: print("#", end="") tmp = tmp - 1 print() line = line - 1
打印九九乘法表
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
编写登陆程序
编写一个登陆程序,要求用户输入账号密码,三次机会,如果三次机会没有输入正确,询问用户时候继续要三次登陆机会,如果不需要,退出程序,如果需要,再给三次登陆机会。
_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!!!")