我的编程空间,编程开发者的网络收藏夹
学习永远不晚

三、python基础之条件和循环

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

三、python基础之条件和循环

目录

一.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()


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

三、python基础之条件和循环

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

三、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
2023-01-31

Python基础:条件与循环

条件语句  除了 boolean 类型的数据,条件判断最好是显性的  if i != 0:...  而不是只写出变量名:if i:...For循环与While循环通常来说,如果你只是遍历一个已知的集合,找出满足条件的元素,并进行相应的操作,
2023-01-31

Rust编程基础之条件表达式和循环

多次执行同一段代码是很常用的,Rust 为此提供了多种 循环(loops)。一个循环执行循环体中的代码直到结尾并紧接着回到开头继续执行。

python之条件-循环和其他语句

5.1.1 使用逗号输出如何使用print来打印表达式----不管是字符串还是其他类型进行自动转换后的字符串。>>> print 'age:' , 42age: 42>>>>>> print 1,2,31 2 3>>> 1,2,3(1, 2
2023-01-31

Python基础——判断和循环

缩进代替大括号。 冒号(:)后换号缩进。 if test=100if test>50: print('OK')print('test') if-elif-elsetest=50if test>200: print('200')e
2023-01-31

基础知识:if条件、while循环、fo

1、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! while True: name = input('请输入用户名:') psw = input('请输入密码:')
2023-01-31

Python 专题二 条件语句和循环语句的基础知识

前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括: 1.条件语句:包括单分支、双分支和多分支语句,if-elif-else 2.循环语句:while的使用及简单网络刷博器爬虫 3
2022-06-04

Python基础教程之while循环用法讲解

Python中除了for循环之外还有一个while循环,下面这篇文章主要给大家介绍了关于Python基础教程之while循环用法讲解的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2022-12-22

盘点Python基础之条件语句

本文基于Python基础,介绍了常见的几种条件判断语句,通过一个个小项目的实际操作,能够更好的理解条件判断语句的用法。

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录