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")
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

 

posted @ 2017-11-04 22:36  隔壁王师傅  阅读(2442)  评论(0编辑  收藏  举报