返回顶部
首页 > 资讯 > 后端开发 > Python >三、python基础之条件和循环
  • 745
分享到

三、python基础之条件和循环

条件基础python 2023-01-31 02:01:07 745人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一.if语句1.1 功能1.2 语法1.2.1:单分支,单重条件判断1.2.2:单分支,多重条件判断1.2.3:if+else1.2.4:多分支if+elif+else1.2.5:if语句小结1.3 案例1.4 三元表达式二.while

目录

一.if语句

1.1 功能

1.2 语法

1.2.1:单分支,单重条件判断

1.2.2:单分支,多重条件判断

1.2.3:if+else

1.2.4:多分支if+elif+else

1.2.5:if语句小结

1.3 案例

1.4 三元表达式

二.while语句

2.1 功能

2.2 语法

2.2.1:基本语法

2.2.2:计数循环

2.2.3:无限循环

2.2.4:while与break,continue,else连用

2.2.5:while语句小结

2.3 案例

三.for语句

3.1 功能

3.2 语法

3.2.1:基本语法

3.2.2:遍历序列类型

3.2.3:遍历可迭代对象或迭代器

3.2.4:for基于range()实现计数循环

3.2.5:for与break,continue,else

3.2.6:for语句小结

 


一.if语句


 

1.1 功能


计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码)


if语句就是来控制计算机实现这一功能


 

1.2 语法


 

1.2.1:单分支,单重条件判断


if expression:


    expr_true_suite


注释:expession为真执行代码expr_true_suite


 

1.2.2:单分支,多重条件判断


if not  active or over_time >= 10:


    print('Warning:service is dead')


    warn_tag+=1


 

1.2.3:if+else


if expression:


    expr_true_suite   


else:


    expr_false_suite


 

1.2.4:多分支if+elif+else


if expession1:


    expr1_true_suite


elif expression2:


    expr2_true_suite


elif expession3:


    expr3_true_suite


else:


    none_of_the_above_suite


 

1.2.5:if语句小结


if 后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if

expression可以引入运算符:not,and,or,is,is not

多重expression为加强可读性最好用括号包含

if与else缩进级别一致表示是一对

elif与else都是可选的

一个if判断最多只有一个else但是可以有多个elif

else代表if判断的终结

expession可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例 x=1;if x:print('ok'))

所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布 尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。

下列对象的布尔值是 False


1036857-20161009183745420-126465507.png


三元表达式


语法:


expr_true_suite if expession else expr_false_suite


案例一:


>>> active=1

>>> print('service is active') if active else print('service is inactive')

service is active

案例二:


>>> x=1

>>> y=2

>>> smaller=x if x < y else y

>>> smaller

1

二.while语句


 

2.1 功能


while循环的本质就是让计算机在满足某一条件的前提下去重复做同一件事情(即while循环为条件循环,包含:1.条件计数循环,2条件无限循环)


这一条件指:条件表达式


同一件事指:while循环体包含的代码块


重复的事情例如:从1加到10000,求1-10000内所有奇数,服务等待连接


 

2.2 语法


 

2.2.1:基本语法


while expression:


    suite_to_repeat


注解:重复执行suite_to_repeat,直到expression不再为真


 

2.2.2:计数循环


count=0

while (count < 9):

    print('the loop is %s' %count)

    count+=1 

 

2.2.3:无限循环


count=0

while True:

    print('the loop is %s' %count)

    count+=1



tag=True

count=0

while tag:

    if count == 9:

        tag=False

    print('the loop is %s' %count)

    count+=1 


while语句小结


条件为真就重复执行代码,直到条件不再为真,而if是条件为真,只执行一次代码就结束了

while有计数循环和无限循环两种,无限循环可以用于某一服务的主程序一直处于等待被连接的状态

break代表跳出本层循环,continue代表跳出本次循环

while循环在没有被break打断的情况下结束,会执行else后代码


2.3 案例

用户登陆验证

import getpass


account_dict={'alex':'123','eric':'456','rain':'789'}

count = 0

while count < 3:

    name=input('用户名: ').strip()

    passwd=getpass.getpass('密码: ')

    if name in account_dict:

        real_pass=account_dict.get(name)

        if passwd == real_pass:

            print('登陆成功')

            break

        else:

            print('密码输入错误')

            count+=1

            continue

    else:

        print('用户不存在')

        count+=1

        continue

else:

    print('尝试次数达到3次,请稍后重试')



三.for语句


 

3.1 功能


for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)


 

3.2 语法


 

3.2.1:基本语法


for iter_var in iterable:


    suite_to_repeat


注解:每次循环, iter_var 迭代变量被设置为可迭代对象(序列, 迭代器, 或者是其他支持迭代的对 象)的当前元素, 提供给 suite_to_repeat 语句块使用.


3.2.2:遍历序列类型

name_list=['alex','eric','rain','xxx']


#通过序列项迭代

for i in name_list:

    print(i)


#通过序列索引迭代

for i in range(len(name_list)):

    print('index is %s,name is %s' %(i,name_list[i]))


#基于enumerate的项和索引

for i,name in enumerate(name_list,2):

    print('index is %s,name is %s' %(i,name)) 


3.2.3:遍历可迭代对象或迭代器


迭代对象:就是一个具有next()方法的对象,obj.next()每执行一次,返回一行内容所有内容迭代完后,


迭代器引发一 个 StopIteration 异常告诉程序循环结束. for 语句在内部调用 next() 并捕获异常.


for循环遍历迭代器或可迭代对象与遍历序列的方法并无二致,只是在内部做了调用迭代器next(),并捕获异常,终止循环的操作


很多时候你根本无法区分for循环的是序列对象还是迭代器 


3.2.4:for基于range()实现计数循环


range()语法:


range(start,end,step=1):顾头不顾尾


range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10,2):指定start=1,end=10,step=2,生成可迭代对象,包含[1, 3, 5, 7, 9]

注:for基于range()实现计数循环,range()生成可迭代对象,说明for循环本质还是一种迭代循环


 

3.2.5:for与break,continue,else


同while


 

3.2.6:for语句小结


for循环为迭代循环

可遍历序列成员(字符串,列表,元组)

可遍历任何可迭代对象(字典,文件等)

可以用在列表解析和生成器表达式中

break,continue,else在for中用法与while中一致


作业:用户登录验证

表结构:

CREATE TABLE `user_login` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `name` varchar(20) NOT NULL DEFAULT '',

  `pwd` varchar(20) NOT NULL DEFAULT '',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8



代码:

#!/usr/bin/Python

#-*- coding: utf-8 -*-

import Mysqldb

import sys


sys.path.insert(0,"/etc/dbbin")

from lib import configgetter

getter = configgetter.Configuration("conf/mysql.cfg")

suser = "mysqlha"

spasswd = getter.passget("mysql",suser)


def MysqlSelect(host,port,db,sql,charset="utf8"):

    try:

        conn = MySQLdb.connect(host=host,port=port,user=suser,passwd=spasswd,db=db)

        cursor = conn.cursor()

        charsql = "set names %s" %charset

        cursor.execute(charsql)

        cursor.execute(sql)

        result = cursor.fetchall()

        return result

    except Exception,ex:

        print "execute is faild : %s" %sql

        ex_info = str(ex)

        print ex_info

        return 2,ex_info





def UserLogin():

    errcode = 0

    while True:

        name = raw_input('Please input user name:').strip()

        pwd = raw_input('Please input user passWord: ').strip()

        namesql = "select name from user_login where name = '%s'" % name

        passwdsql = "select pwd from user_login where name = '%s'" % name

        name_group = MysqlSelect('10.20.8.1',3488,'tt',namesql)

        pwd_group = MysqlSelect('10.20.8.1',3488,'tt',passwdsql)

        print errcode

        if name_group != ():

            if name == name_group[0][0] and errcode == 3:

                print "%s   user has been locked  " % name

                continue

            if name == name_group[0][0]:

                if pwd == pwd_group[0][0]:

                    print "%s login sucess" % name

                    break

                else:

                    print "User password error,Please try again"

                    errcode += 1

        else:

             print " %s user not exists" % name

             break

UserLogin()


--结束END--

本文标题: 三、python基础之条件和循环

本文链接: https://lsjlt.com/news/185908.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 三、python基础之条件和循环
    目录一.if语句1.1 功能1.2 语法1.2.1:单分支,单重条件判断1.2.2:单分支,多重条件判断1.2.3:if+else1.2.4:多分支if+elif+else1.2.5:if语句小结1.3 案例1.4 三元表达式二.while...
    99+
    2023-01-31
    条件 基础 python
  • Python基础:条件与循环
    条件语句   除了 boolean 类型的数据,条件判断最好是显性的    if i != 0: ...   而不是只写出变量名: if i: ... For循环与While循环 通常来说,如果你只是遍历一个已知的集合...
    99+
    2023-01-31
    条件 基础 Python
  • python基础之for循环
    For 循环 可以遍历字符串,也可以遍历列表 # for 循环 # 语法特点:遍历操作,依次取集合容器中的几个值 # for 临时变量 in 容器: # 执行代码...
    99+
    2024-04-02
  • python基础之循环语句
    目录循环语句单分支如何使用双分支结构多分支的使用While 循环拳击游戏循环:总结循环语句 多分支 选择流程 If-else语句 单分支如何使用 # 单分支表...
    99+
    2024-04-02
  • python之条件-循环和其他语句
    5.1.1 使用逗号输出如何使用print来打印表达式----不管是字符串还是其他类型进行自动转换后的字符串。>>> print 'age:' , 42age: 42>>>>>> pri...
    99+
    2023-01-31
    语句 条件 python
  • 基础知识:if条件、while循环、fo
    1、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!   while True: name = input('请输入用户名:') psw = input('请输入...
    99+
    2023-01-31
    基础知识 条件 fo
  • Python基础——判断和循环
    缩进代替大括号。 冒号(:)后换号缩进。 if   test=100 if test>50: print('OK') print('test')   if-elif-else test=50 if tes...
    99+
    2023-01-31
    基础 Python
  • Python基础教程之循环语句(for、while和嵌套循环)
    循环可以用来重复执行某条语句,直到某个条件得到满足或遍历所有元素。 1 for循环 是for循环,可以把集合数据类型list、tuple、dict、set的元素遍历出来。 (1)对...
    99+
    2024-04-02
  • Python 专题二 条件语句和循环语句的基础知识
    前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括: 1.条件语句:包括单分支、双分支和多分支语句,if-elif-else 2.循环语句:whi...
    99+
    2022-06-04
    语句 基础知识 条件
  • Javascrip基础之for循环和数组
    目录循环-forfor循环基本使用退出循环循环嵌套数组数组是什么数组的基本使用遍历数组操作数组总结循环-for for循环基本使用 for循环语法:重复执行代码 好处:把声明起始值、...
    99+
    2024-04-02
  • Java 基础 之 while 循环
    转载于 : http://www.verejava.com/id=16992618818220 public class Test1 {public static voi...
    99+
    2023-06-02
  • python基础之while循环、for循环详解及举例
    目录1.while循环1.1Whlie循环的书写方式1.2while循环的格式1.3while循环注意事项1.4while嵌套的格式1.5while练习:计算 1~100 ...
    99+
    2024-04-02
  • python基础详解之if循环语句
    前言 还记得这个九九乘法表吗,这次课后相信你可以用代码给你的小弟弟妹妹们变出这份“葵花宝典”。 循环 如果要把循环翻译成机器语言,那他对应的可以是 for…in… ,循环就像是一个...
    99+
    2024-04-02
  • 详解Javascript基础之循环
    目录循环forfor-infor-ofwhiledo-while跳出循环总结循环 for 循环是任何一门语言都会有个命令,用于反复执行某段代码。 例如,循环代码块5次: for ...
    99+
    2024-04-02
  • Java 基础 之 do while 循环
    转载于 : http://www.verejava.com/id=16992623980921 import java.util.Scanner;public class Test1&nbs...
    99+
    2023-06-02
  • Python基础:for、while循环
    一、While循环 条件控制循环,while后面的condition是真,执行代码块;假,退出循环。可以使用break,强制退出循环。使用else,运行while正常结束时执行的代码块。(break和return退出不执行else)使用co...
    99+
    2023-01-31
    基础 Python
  • python基础之while循环语句的使用
    目录一、前言二、break语句三、continue语句四、小实例一、前言  前面我们学习了if分支判断和for循环语句,在这次推送中我们将继续了解循环大家庭的成...
    99+
    2024-04-02
  • python之基础篇(三)
    防伪码:忘情公子著python编程基础及编程风格:  语句和语法    注释:      #:可以从一行的任何地方开始    续行:      \:只能在行尾      ''':闭合操作符,单一语句跨多行。实现多行注释、内置文档等功能   ...
    99+
    2023-01-31
    基础 python
  • Python基础之条件语句详解
    目录一、环境介绍二、条件判断介绍三、if语句的使用四、if判断的运算符五、学习小结一、环境介绍 Python版本Python 3.8.8 ( Pycharm版本2021.1.2 二、...
    99+
    2024-04-02
  • python条件、循环、终止
    1.缩进python使用tab键来区分代码的逻辑性,即缩进,一个缩进等于四个空格2.if条件格式:if 判断条件:   执行语句……elif:    执行语句…else:    执行语句……例子:a = 10b = 20if a>b:...
    99+
    2023-01-31
    条件 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作