条件控制其实就是if...else...(如果...条件是成立的,就做...;反之,就做...)的使用,其基本结构是:

具体看下面这个例子:

 def account_login():
     # 定义函数
     password = input('请输入密码:')
     # 输入密码
     ':
         # 如果输入密码是12345,则登录成功
         print('登录成功')
     else:
         print('密码有误,请重新输入')
         # 否则提示密码有误,请重新输入
         account_login()
         # 输入错误后再次运行函数

 account_login()
 # 调用函数

定义一个账号登录函数,使用input()函数获取用户输入的内容并储存在变量password中,如果输入密码正确,提示用户“登录成功”,否则提示“密码有误,请重新输入”。

程序运行后,在执行结果中输入“12345”,会返回“登录成功”;输入12345以外的数字,均会提示“密码有误,请重新输入”,此时可再次输入密码。

注意在if和else后面一定要加冒号,前面的缩进是指该部分属于哪块内容。

除了上面的单条件控制外,多条件判断也比较简单,只需要在if...else之间加elif,用法和if...else类似。

现在,我们给刚才的例子增加一个密码重置的功能:

 password_list = [']
 # 创建密码列表

 def account_login():
     password = input('请输入密码:')
     password_correct = password == password_list[-1]
     # 给password_correct赋值
     password_reset = password == password_list[0]
     if password_correct:
         print('登录成功')
     elif password_reset:
         new_password = input('请输入新密码:')
         # 如果输入的是password_reset的值,提示用户输入新密码
         password_list.append(new_password)
         # 用append()方法将用户输入的新密码插入password_list中
         print('密码重置成功')
         account_login()
     else:
         print('密码有误,请重新输入')
         account_login()

 account_login()

 print(password_list)
 # 可以查看最新的列表内容

程序运行后会提示请输入密码,如果输入“##”,这时会进入密码重置环节,会提示“请输入新密码”,输入新密码后,会在password_list的末尾插入新密码,密码输入正确时,会显示“登录成功”。

最后一行的print(password_list),是为了验证自己重置的新密码是否插入进了password_list中。

后续我会详细介绍下循环。

操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac

-----   End   -----

作者:杜王丹,微信公众号:杜王丹,互联网产品经理。

产品经理学Python:条件控制的更多相关文章

  1. 产品经理学Python:参数传递方式

    这是关于Python的第5篇文章,主要介绍下参数传递方式和如何设计自己的函数. (一) 本篇主要介绍2种参数传递方式. 位置参数 调用函数时,根据函数定义的参数位置来传递参数. def right_t ...

  2. Python 条件控制

    Python  条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语 ...

  3. Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  4. 产品经理学Python:逻辑判断与运算符

    这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...

  5. python条件控制

    条件控制 现在我们写这样一个程序:在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了 my_age = 24 user_in ...

  6. Python条件控制与循环语句

    1. 条件控制 # if-elif-else结构 age = 12 if age < 4: price = 0 elif age < 18: price = 5 else: price = ...

  7. 产品经理学Python:for循环、while循环

    Python中有两种循环,分别为:for循环和while循环. 1. for循环 for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的 ...

  8. Python条件控制与循环

    条件控制语句:if 循环语句:while.for 其他语句:continue.break.pass 1.if语句 # ================================ a = 1 if ...

  9. Python入门:条件控制

    条件控制其实就是if...else...(如果...条件是成立的,就做...:反之,就做...)的使用,其基本结构是: 具体看下面这个例子: def account_login(): # 定义函数 p ...

随机推荐

  1. HTTP协议(四)

    第一步:新建一个header.php页 <?php header('Location:http://www.baidu.com');//默认是302重定向 ?> 第二步:分析 如何制定重定 ...

  2. Ubuntu 16.04 设置MySQL远程访问权限

    本文记录一下在Ubuntu 16.04版本下设置MySQL数据库的远程访问. 第一步:修改配置文件的端口绑定 打开的目录可能会根据MySQL的版本稍有不同,可以先尝试打开/etc/mysql/my.c ...

  3. python+request+robot framework接口自动化测试

    python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

  4. 开源的.NET媒体文件操作组件TagLib#解析

    人生得意须尽欢 莫使金樽空对月.写博客都会在吃饭后,每次吃饭都要喝上二两小酒,写博客前都要闲扯,这些都是个人爱好,改不掉了,看不惯的人,还望多多包含一下,有相同爱好的同学,咱们可以一起喝着小酒一边吹牛 ...

  5. java iframe 嵌套,session失效重新登录页面嵌套问题

    将后台跳转改写成 PrintWriter out = response.getWriter(); out.println("<html>");    out.print ...

  6. CSS3选择器~一看吓一跳,这么多不会

    复习CSS时发现很多选择器不会,因为平时很少用到.现在干脆一不做二不修,全部温习一遍.本文参考http://css.doyoe.com/. 一.元素选择器 图片来自:http://css.doyoe. ...

  7. kafka 入门笔记 #1

    kafka 入门笔记(#1) 单机测试 下载版本,解压 tar -xzf kafka_2.11-0.10.1.1.tgz cd kafka_2.11-0.10.1.1 启动服务 Kafka用到了Zoo ...

  8. (iOS)私有API的使用(原创)

    最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用.所以研究了一下ios的私有api. 调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教 ...

  9. android布局中画线的方法

    1.自定义View画线 http://fariytale.iteye.com/blog/1264225 下面介绍几种简单的方法 2.textView和View画直线 <TextView andr ...

  10. .Net Core的一些个人总结

    从开始接触.Net Core到现在已经有将近一年的时间了,今天来做一下相关的学习总结,顺便也回忆一下自己这段时间以来的成长. 有一点不得不承认的是,在接触.Net Core之前,我对于linux系统一 ...