010 判断及循环 表达式,if…elif…else,for loop,while loop

本节内容:

  • 表达式if…else
  • 表达式 for loop
  • 表达式 while loop
  • 作业(登录接口)

一、表达式if…else

场景一、用户登陆验证

# 提示输入用户名和密码
# 验证用户名和密码
#     如果错误,则输出用户名或密码错误
#     如果成功,则输出 欢迎,XXX!
# !/usr/bin/env python
# -*- coding: encoding -*-
import getpass
name = raw_input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
if name == "Dream" and pwd == "cmd":
    print("欢迎,Dream!")
else:
    print("用户名和密码错误")

 

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

# !/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 loop

range(m) //生成从0到m的序列,步长默认为1

range(m,n) //生成从m到n的序列,步长默认为1

range(m,n,s) //生成m-n的序列,步长为s

字符串遍历:

for ch in str1:
  statement……

文件遍历:

infile =open("filename.txt",'r')
for line in infile:
  statemanet……
infile.close()

 

pass语句,表示“什么都不做”

continue

break

 

最简单的循环10次

# _*_coding:utf-8_*_
__author__ = 'Dream'
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 loop

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


海枯石烂代码 :

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

 

其实除了时间,没有什么是永恒的,死loop还是少写为好

上面的代码循环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("猜这么多次都不对,你个笨蛋.")

 

四、作业(登录接口)

作业:编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定 
'''
作业二:编写登陆接口
•输入用户名密码
•认证成功后显示欢迎信息
•输错三次后锁定
'''
import getpass
def loginAction():
    _username='dream'
    _pwd='wzh'
    trycnt=0
    while True:
        if trycnt==3:
            print("错误3次,请稍后再试.")
            break
        username=str(input("Enter input Username:"))
        pwd=str(input("Enter input Password:"))
        # pwd=getpass.getpass("Enter input Password:")
        print(pwd)
        if username==_username and pwd==_pwd:
            print("登录成功,欢迎你!")
        elif username!=_username and pwd==_pwd:
            print("用户名不对.")
        elif username == _username and pwd!= _pwd:
            print("密码不对.")
        else:
            print("用户名和密码都不对,请重新输入")
        trycnt += 1

loginAction()

 

posted @ 2018-06-09 22:54  航松先生  阅读(335)  评论(0)    收藏  举报