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. break、continue、return的使用

    跳转控制语句: java中的goto是保留字,目前不能使用,虽然没有了goto语句可以增强程序的安全性,但是也带来很多不便. 比如说:我们想让某个循环到某一步的时候就结束,现在就做不了这个事情了.为了 ...

  2. 大文件上传-大视频上传,T级别的,求解决方案

    第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname =  ...

  3. apiCloud通过ajax获取数据

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. 解决报错(Could not create connection to database server.)

    org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory 尝试多种方法后发现是由于mysq ...

  5. E. Compress Words

    E. Compress Words KMP #include<bits/stdc++.h> using namespace std; ]; int len; void getNext(ch ...

  6. php服务器环境安装及项目搭建

    2安装运行环境及搭建项目2.1安装apache及测试1)安装apacheyum install httpd 启动apache systemctl start httpd.service 查看运行状态 ...

  7. SQL GROUP BY两个列

    首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:   (1) 出现在select后面的字段 要 ...

  8. 你还没搞懂this?

    一.前言 this关键字是JavaScript中最复杂的机制之一.它是一个很特别的关键字,被自动定义在所有函数的作用域中.对于那些没有投入时间学习this机制的JavaScript开发者来说,this ...

  9. 微信小程序image组件

    image组件:是小程序专门针对图片的组件,功能强大 image组件的属性: src:类型 字符串 图片资源的路径 mode:类型 字符串 图片裁剪缩放模式 lazy-load:类型 布尔 图片的懒加 ...

  10. React-Native 之 GD (八)GET 网络请求封装

    1.到这里,相信各位对 React-Native 有所熟悉了吧,从现在开始我们要慢慢往实际的方向走,这边就先从网络请求这部分开始,在正式开发中,网络请求一般都单独作为一部分,我们在需要使用的地方只需要 ...