python之流程控制:if elif else  while  for

一、流程控制之if:

  1.1为什要有if判断:让计算机能像人一样代替人类工作,那么计算机应该有对于事务的读错,真假,是否可行的判断能力,从而做出不同的响应

  1.2 if固定语法:

            固定语法:
                python用缩进表示代码的归属
                同一缩进的代码,称之为代码块
                补充:布尔值False数据类型:0,None,空:[],{},''等
                变量名也可以用来判断,因为变量名指向的值对应的就是True或False

   第一种单独if语法:

  

if 条件:(门户:条件满足直接进代码块内容)

    代码1
    代码2
    代码3
    代码4
代码

   

eg:

gender = 'female'

age = 18
is_beautiful = True

if gender == 'female' and age > 16 and age < 30 and is_beautiful:
    print('符合要求可以表白')
print('执行完成上面会自动走这里')

    第二种用法:if + else

if 条件:
                    代码1
                    代码2
                    代码3
                    代码4
                else:  # 不能单独使用,必须和if while使用
                    代码1
                    代码2
                    代码3
                    代码4

gender = 'female'

age = 18
is_beautiful = True

if gender == 'female'and age > 35 and is_beautiful:
    print('符合要求可以表白')
else:
    print('啥玩意')

  第三种if + elif + else

if 条件:
                    代码1
                    代码2
                elif 条件:()
                    代码1
                    代码2

                elif 条件:
                    代码1
                    代码2
                else:
                    代码1
                    代码

gender = 'female'

age = 38
is_beautiful = True

if gender == 'female'and age >20 and age <30 and is_beautiful:
    print('符合要求可以表白')

elif gender == 'female' and is_beautiful:  # 满足两个即可
    print('不嫌弃哈哈哈')

else:
    print('都不符和')

走else上面的情况都不符合
gender = 'female'

age = 38is_beautiful = True

if gender == 'female'and age >20 and age <30 and is_beautiful:    print('符合要求可以表白')

elif gender == 'female' and is_beautiful == False:  # 满足两个即可    print('不嫌弃哈哈哈')

else:    print('都不符和')

练习:综合

 1. 如果:成绩>=90,那么:优秀

       如果成绩>=80且<90,那么:良好

       如果成绩>=70且<80,那么:普通

       其他情况:很差

 if elif else 同一级别配合使用的时候只会执行一个代码
score = input('输入成绩>>>:')
score = int(score)
if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score>= 70:
    print('普通')
elif score >= 60:
    print('及格')
else:
    print('小垃圾~!')

练习2:模拟用户登录

# 模拟用户去银行登录

# 用好系统存储好用户信息
from_db_name = 'jason'
from_db_password = '
# 用户输入姓名和密码
while True:
    username = input('输入用户姓名>>>:').strip()
    password = input('输入用户密码>>>:').strip()
    if username == from_db_name and password == from_db_password:
    # 判断是否一致

        print('登录成功')
        break  # 登录成功结束本层循环
    else:
        print('用户名或则密码错误')
print('验证break后是否运行这里的代码')  # 是的

练习3:

"""如果:今天是Monday,那么:上班如果:今天是Tuesday,那么:上班如果:今天是Wednesday,那么:上班如果:今天是Thursday,那么:上班如果:今天是Friday,那么:上班如果:今天是Saturday,那么:出去浪如果:今天是Sunday,那么:出去浪"""
# 获取用户输入:
# 直接 判断用户输入的信息是否在在表里面
Today = input('today is >>>:').strip()
if Today in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',]:
    print('上班去了')
elif Today in ['Saturday', 'Sunday']:
    print('去浪去了')
else:
    print('输入有误,请重新输入')

  第四种if 嵌套 if :

gender = 'female'

age = 22
is_beautiful = True
success = False
if gender == 'female'and age >20 and age <30 and is_beautiful == True:

    print('符合要求可以表白')
    if success:
        print('跟我走吧')
    else:
        print('表白失败,去你MLGb的爱情')
elif gender == 'female' and is_beautiful == False:  # 满足两个即可
    print('不嫌弃哈哈哈')

else:
    print('都不符和')

二、while 循环:

  2.1while 循环

 1.while 条件(成立):   # 则执行下面代码
                    代码1
                    代码2
                    代码3
                    代码4

eg:while True:用户登录 执行内部代码

# 用好系统存储好用户信息
from_db_name = 'jason'
from_db_password = '
# 用户输入姓名和密码
while True:
    username = input('输入用户姓名>>>:').strip()
    password = input('输入用户密码>>>:').strip()
    if username == from_db_name and password == from_db_password:
    # 判断是否一致

        print('登录成功')
        break  # 登录成功结束本层循环
    else:
        print('用户名或则密码错误')
print('验证break后是否运行这里的代码')  # 是的

  练习:

 1.1# 用while循环打印0-10
count = 0
while count < 11:

    print(count)
    count += 1

  #1. 2使用while循环输出1 2 3 4 5 6     8 9 10

#1. 使用while循环输出1 2 3 4 5 6     8 9 10
n = 1
while n < 11:
    if n == 7:
        n += 1
        continue
    print(n)  # zhi执行每一次的结果
    n += 1

  #1.3 求0-100所有数之和

#. 求1-100的所有数的和
sum = 0
n =1
while n <= 100:
    sum += n
    n += 1
print(sum)

 #. 输出 1-100 内的所有奇数

#3. 输出 1-100 内的所有奇数
y = 0
sump=0
while y <= 100:
    if y %2 == 1:
        sump += y
    y += 1
print('奇数和为%d'%sump
# m = 0
# sum1 = 0  # 奇数
# sum2 = 0  #
# while m <= 100:
#     if m%2 == 1:
#         sum1 += m
#     else:
#         sum2 += m
#     m += 1
# print('奇数之和为%d'%sum1)
# print('偶数之和为%d'%sum2)
#5. 求1-2+3-4+5 ... 99的所有数的和
k = 0
sum1 =0
sum2= 0
while k<=99:
    if k%2 ==1:
        sum1 +=k
        k+=1
    else:
        sum2 -=k
        k+=1
print(sum1+sum2)也可将k+=1提取出来
k = 0
sum1 =0
sum2= 0
while k<=99:
    if k%2 ==1:
        sum1 +=k

    else:
        sum2 -=k
    k +=1
print(sum1+sum2)
# 用户登陆(三次机会重试)
#6. 用户登陆(三次机会重试)
name = 'jason'
pwd = '
n =1
while n<=3:
    username = input('输入用户名>>>:').strip()
    password = input('输入密码>>>:').strip()
    ':
        print('登录成功')
        bre
    else:
        print('输入有误。。。')
    n +=1

# 模拟用户登录登录成功则直接break直接跳出循环不在执行,当用户登录超过三次给用户一个选择是否继续进行重新输入

username = 'jason'pwd = '123'm = 0while True:    if m == 3:        choice = input('输入已达三次是否重新输入<y/n>').strip()        if choice == 'y':            m = 0        elif choice == 'n':            break        else:            continue    name = input('用户名:')    password = input('密码:')    if name == username and pwd == password:        print('登陆成功')        break    else:        print('用户名或者密码错误')    m += 1

  2.2 break  和continue 的区别及用法

# 1,2,3,4,6,7,8,9
n = 1
while n<10:
    if n == 5:
        n+=1
        continue  # 跳出本次循环进行下一次循环 #
1,2,3,4,6,7,8,9
print(n) n+=1

    continue:跳出本次循环,直接开始下一次循环(还在执行while循环条件)

n = 1
while n < 10:
    if n == 5:
        n += 1
        break  # 终止本层循环进行执行外面代码 1,2,3,4
    print(n)
    n += 1
print('continue执行完毕,才走这里')

break:立即结束本层循环 >>>只是针对它属于的那一层

  

  break的优化 is_flag = False 定义一个全局标志位,通过变量限制while的执行

name = 'jason'
pwd = '
is_tag = True
while is_tag :
    username = input('输入用户名>>>:').strip()
    password = input('输入密码>>>:').strip()
    ':
        print('登录成功')
        while is_tag:
            cmd = input("""
            1.取现
            2.转账
            3.其他
            q.退出

            """)
            if cmd == 'q':
                is_tag = False
            ']:
                print('执行相应功能')
            else:
                print('输入有误')
    else:
        print('输入有误。。。')

  2,.3while +else的用法:

n = 1
while n < 5:

    print(n)
    n += 1
else:
    print('else是在没有人为中止情况下执行')

  

n = 1
while n < 5:
    if n == 3:
        break
    print(n)
    n += 1
else:
    print('else是在没有人为中止情况下执行')

  

四、for 循环:

  4.1 len() # 获取数据类型(容器类型)的个数,注意:字符是特列,获取的是字符串中字符的个数

  

# while 循环取值需要索引取值
l = [11,22,33,45,6,6,88,99]

n = 0  # 当成索引
while n < len(l):
    # print(n)  # 拿到的是索引
    print(l[n])  # 拿到值需要索引取值 # 》》》11,22,33,45,6,6,88,99
    n += 1  # 终止条件
for i in l:
    print(i)  # 不需要索引可以直接拿到值 # 》》》11,22,33,45,6,6,88,99

 

#4.2 字典在被for循环的时候,只会返回出它的key,value是不会主动暴露给用户的
my_dict = {'name':'jason', 'age':18, 'hobby':['dance','开车','rap']}
for i in my_dict:
    print(i)
# name   # key 都是健
# age
# hobby
my_dict = {'name':'jason', 'age':18, 'hobby':['dance','开车','rap']}for i in my_dict.values():    print(i)# 拿到值要点value
my_dict = {'name':'jason', 'age':18, 'hobby':['dance','开车','rap']}for i in my_dict.items():    print(i)# 拿到健值对点items()

  

4.3 for + continue 跳出本次循环进行下一次循环

name_list = ['jason','egon','tank','liuxc']

for name in name_list:
    if name == 'jason':
        continue  # 没有打印jason 后面的都打印出来了
    print(name)

  4.4 for +break

ame_list = ['jason','egon','tank','liuxc']

for name in name_list:
    if name == 'egon':
        break  # 没有打印jason 后面的都打印出来了
    print(name)

  4.5for 循环 + esle 和while一模一样 if 和else:内部代码 只要是认为break终止循环是不会走else语句的,

      只有当for循环自动条件结束才会做else语句

  

  五、range在python2和python3的区别

      range()在python2和python3的区别
         python2中
        1.range其实就是一个列表 写多少 就展示多少,占据内存大
        2.xrange()其实就是一个生成器 对于python是一个极大的优化
        python3生成器:range是一个老母猪,你需要=值的时候我才给你

# 九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        # res = i*j
        print('%s*%s=%s'%(i,j,i*j),end=' ',)
    print()

C:\Users\10243\AppData\Local\Programs\Python\Python36\python.exe "D:/datas/day 04/for 循环.py"
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

Process finished with exit code 0

"""

            #max_level=5 总层数

    *      # current_level=1 空格数=max_level-1 星号=2*current_level-1 1
   ***     # current_level=2 空格数=max_level-1 星号=2*current_level-1 3
  *****    # current_level=3 空格数=max_level-1 星号=5
 *******   # current_level=4 空格数=max_level-1 星号=7
*********  # current_level=5 空格数=max_level-1 星号=9

找规律

"""
# 先打印最外层
max_level = input('输入层数》》》:').strip()
max_level = int(max_level)

for current_level in range(1,max_level+1):
    # print(current_level)
    # 打印空格
    for i in range(max_level-current_level):
        # print(i)
        print(' ',end='')
    # 打印星星数
    for j in range(2*current_level-1):
        # print(j)
        print('*', end='')

    print()

  

python之流程控制升级的更多相关文章

  1. Python之流程控制——if...else...

    Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...

  2. Python之流程控制——while循环

    Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...

  3. python之流程控制与运算符

    第一:流程控制 一:if条件语句 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 单分支语句: 单分支,单个条件 age = 20 if age >= 18: print('you ...

  4. Python【流程控制与循环】

    本文介绍 1.流程控制 2.while循环 一.流程控制 单分支 if 条件: ...Python代码,满足条件执行 双分支 if 条件: ...Python代码,满足条件执行 else: ...Py ...

  5. Python基础—流程控制

    一.Python流程控制 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和循 ...

  6. python基础-流程控制(if,while,for)

    今日内容总结 --流程控制(if,while,for) if:用来判断事物的对错.真假.是否执行.根据不同的情况判断,条件满足执行某条件下的语句 语法结构(3种) # 第一种,只有if结构.条件表达式 ...

  7. python之流程控制上-if、while

    流程控制 编写程序,是将自己的逻辑思想记录下来,使得计算机能够执行的过程. 而流程控制,则是逻辑结构中十分重要的一环. 在程序中,基础的流程结构分为顺序结构.分支结构.顺序结构 顺序结构自不必多说,上 ...

  8. python基础-->流程控制-->分支结构-->单项分支-->双向分支

    # ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...

  9. python之流程控制

    流程控制之if-else if 条件1: 满足条件1的情况 else if 条件2: 满足条件2的情况 if 条件2.1: 满足条件2.1的情况(if-else语句的嵌套) else if 条件2.2 ...

随机推荐

  1. POJ 3111 K Best ( 二分 )

    题意 : 给出 N 个物品的价值和重量,然后要求选出 K 个物品使得选出来物品的单位重量价值最大,最后输出被选物品的编号. 分析 :  很容易去想先算出每个物品的单位价值然后升序排序取前 K 个,但是 ...

  2. .net api 和java平台对接技术总结

    这两天 一直和京东对接接口,我们用.net api 提供接口,对方用java调用,本来没什么问题,但是对方对数据安全要求特别严,要验签,于是噩梦开始了. 1.在传输的时候,约定传输格式: HttpWe ...

  3. Java 实现 对象和转字符串之间的互转 (json格式)

    添加依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId> ...

  4. sqlserver 查询当前阻塞进程 并杀掉

    select * from master.dbo.sysprocesses where DB_NAME(dbid)=’test’ and spid<>@@SPID 看看阻塞的进程 然后ki ...

  5. React Native商城项目实战15 - 首页购物中心

    1.公共的标题栏组件TitleCommonCell.js /** * 首页购物中心 */ import React, { Component } from 'react'; import { AppR ...

  6. Linux驱动开发6——DDR内存分配

    1.kmalloc和kfree #include <linux/slab.h> void *kmalloc(size_t size, int flags); flag: GFP_ATOMI ...

  7. 设置bios加快系统的启动

    设置bios加快系统的启动 bois的设置错误, 还会引起系统的工作不正常 bios设置正确合理, 关系到系统的高效运行: 一般, 应该将bios中, 系统的各个cache 缓存开启,如cpu缓存, ...

  8. 测开之路一百二十四:flask之MVC响应过程

    MVC流程 原本的请求响应 结构: 视图: from flask import Flask, render_template app = Flask(__name__) @app.route(&quo ...

  9. UI自动化之日志的处理

    写自动化时,我们常常希望打印出浏览器的操作记录,也同时希望报错的记录能够保留并用于问题的排查,这时候可以用到loggging模块 目录 1.logging文件 2.调用日志 1.logging文件 # ...

  10. spring boot 整合 RabbitMQ 错误

    1.错误 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.spr ...