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

具体看下面这个例子:

  1. def account_login():
  2. # 定义函数
  3. password = input('请输入密码:')
  4. # 输入密码
  5. ':
  6. # 如果输入密码是12345,则登录成功
  7. print('登录成功')
  8. else:
  9. print('密码有误,请重新输入')
  10. # 否则提示密码有误,请重新输入
  11. account_login()
  12. # 输入错误后再次运行函数
  13.  
  14. account_login()
  15. # 调用函数

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

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

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

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

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

  1. password_list = [']
  2. # 创建密码列表
  3.  
  4. def account_login():
  5. password = input('请输入密码:')
  6. password_correct = password == password_list[-1]
  7. # 给password_correct赋值
  8. password_reset = password == password_list[0]
  9. if password_correct:
  10. print('登录成功')
  11. elif password_reset:
  12. new_password = input('请输入新密码:')
  13. # 如果输入的是password_reset的值,提示用户输入新密码
  14. password_list.append(new_password)
  15. # 用append()方法将用户输入的新密码插入password_list中
  16. print('密码重置成功')
  17. account_login()
  18. else:
  19. print('密码有误,请重新输入')
  20. account_login()
  21.  
  22. account_login()
  23.  
  24. print(password_list)
  25. # 可以查看最新的列表内容

程序运行后会提示请输入密码,如果输入“##”,这时会进入密码重置环节,会提示“请输入新密码”,输入新密码后,会在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. linux 根分区扩展

    linux根分区扩容 今天网站上传图片出问题了,一开始还以为是程序问题,后来发现原来是服务器存储空间不够,明明有200G的磁盘空间,没理由这么快就用完,查了一下分区情况,原来有两块磁盘,根分区只挂载在 ...

  2. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...

  3. Tomcat+Eclipse乱码问题解决方法

    概述 乱码问题是大家在日常开发过程中经常会遇到的问题,由于各自环境的不同,解决起来也费时费力,本文主要介绍一般性乱码问题的解决方法与步骤,开发工具采用Eclipse+Tomcat,统一设置项目编码UT ...

  4. webpack独立打包与缓存处理

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 先前写了一篇webpack入门的文章<webpack入门必知必会>,简单介绍了webpa ...

  5. 通过取父级for循环的i来理解闭包,iife,匿名函数

    在使用for循环的时候,假如需要在循环体中添加一个匿名函数处理其他的事情,那么,在这个匿名函数内,如果需要用到对应的i,因为闭包的缘故,循环体循环结束后才返回i,所以i最终为最后一次++的数值.   ...

  6. [SinGuLaRiTy] 树形存储结构阶段性测试

    [SinGuLaRiTy-1011] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. G2019级信息奥赛专项训练 题目 程序名 时间 内存 ...

  7. [原]C#与非托管——封送和自动封送

    之前说到了如何从C函数声明通过简单的查找替换生成一份C#的静态引用声明(C#与非托管——初体验),因为只是简单说明,所以全部采用的是基础类型匹配和自动封送.自动封送虽然能省去我们不少编码时间,但如果不 ...

  8. Android中启动页ViewPager和ViewFlipper带指示器

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   首先我们来分析一下,想要实现启动页的功能,大家第一个想到的就是使用ViewPager,使用ViewPager确实是一种比 ...

  9. nlog学习使用

    最近有不少朋友推荐我用NLog.我以前都是自己写txt的文本输出log,以前别人用log4net的时候看那个配置文件,看得我一阵烦,我比较喜欢约定胜于配置的组件.这次玩了一波NLog,,相当不错.一下 ...

  10. 通过Elasticsearch使用的你的数据

    Elasticsearch 系列导航 elasticsearch 与 elasticsearch-head 的安装 ElasticSearch Index API && Mapping ...