006-python基础-条件判断与循环

时间:2022-07-02 13:08:00

一、条件判断

  场景一、用户登陆验证

_username = 'alex'
_password = 'abc123'
username = input("username:")
#password = getpass.getpass("password:")
password = input("password:") if _username == username and _password == password:
print("Welcome user {name} login ...".format(name=username))
#print("Welcome user %s login ..." % (username))
#print("Welcome user {0} login ...".format(username))
else:
print("Invalid username or password!")

  场景二、猜年龄游戏

  在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

 #!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")

二、for循环

   最简单的循环10次

 #_*_coding:utf-8_*_
__author__ = 'Alex Li' for i in range(10):
print("loop:", i )

  需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

 for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i )

  需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

 for i in range(10):
if i>5:
break #不往下走了,直接跳出整个loop
print("loop:", i )

三、while循环

   有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。

 count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1

  上面的代码循环100次就退出吧

 count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
if count == 100:
print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")
break

 回到上面for 循环的例子,如何实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序。

 #!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 count = 0
while count < 3:
user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
break
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")
count += 1 #每次loop 计数器+1
else:
print("猜这么多次都不对,你个笨蛋.")

四、关于break与continue

  break用于退出所有循环。

  注:break只跳出一层循环,如果有两个循环,第二个循环嵌套在第一个循环里面,如果第二个循环break了,第一个循环还是会继续执行的。

 while True:
print("")
break
print("")

  continue用于退出当前循环,继续下一次循环

 while True:
print("")
continue
print("")

五、同级别while、for与else的关系

  在while、for正常循环完所设定的次数,中间没有被break中断的话,就会执行else啦,但如果中间被break了,那else语句就不会被执行了。

  正常循环结束后的情况:

 flag_exit = False
while not flag_exit:
print("")
print("")
flag_exit = True
else:
print("bye") #输出
123
456
bye # 正常循环结束后,执行else下面的语句。

  break退出情况:

 flag_exit = False
while not flag_exit:
print("")
print("")
break
else:
print("bye") #输出
123
456