zoukankan      html  css  js  c++  java
  • 三. python 循环if,while,for....

    一 .if流程控制语句

    if语句:

           格式:

    if表达式:

         语句

    1. if语句

    #练习if语句
    aa=int(input("请你输入一个数是否是奇偶:"))
    if aa%2==0:
        print("是偶数")
    else:
        print("是奇数")

    2. if语句else

    #练习if语句
    aa=int(input("请你输入一个数是否是奇偶:"))
    if aa%2==0:
        print("是偶数")
    else:
        print("是奇数")
    #水仙花数
    # aa=153%10      #3  各位
    # aa=153//10    #15
    # aa=153//10%10 # 5  十位
    #aa=153//100     #1  百位
    #求水仙花树
    num =int(input("请输入一个数:"))
    aa=num%10
    bb=num//10%10
    cc=num//100
    
    if num==aa**3+bb**3+cc**3:
      print("是水仙花数")
    else:
      print("不是一个水仙花数")
    案例一水仙花数
    #找最大值
    num1=int(input())
    num2=int(input())
    num3=int(input())
    max=num1  #假设 
    if num2>num1:
        max=num2
    if num3>max:
        max=num3
    print("max=",max)
    案例找最大值

     二 .if ..elif..流程控制语句

     if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
    当判断条件为多个值时,可以使用以下形式:

    if 判断条件1:
    执行语句1……
    elif 判断条件2:
    执行语句2……
    elif 判断条件3:
    执行语句3……
    else:
    执行语句4……
    num = 5     
    if num == 3:            # 判断num的值
        print 'boss'        
    elif num == 2:
        print 'user'
    elif num == 1:
        print 'worker'
    elif num < 0:           # 值小于零时输出
        print 'error'
    else:
        print 'roadman'     # 条件均不成立时输出 
    #!/usr/bin/env python
    
    name=input('请输入用户名字:')
    password=input('请输入密码:')
    
    if name == 'egon' and password == '123':
        print('egon login success')
    else:
        print('用户名或密码错误')
    
    练习一:用户登陆验证
    用户登陆验证
    #!/usr/bin/env python
    #根据用户输入内容打印其权限
    
    '''
    egon --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
    '''
    name=input('请输入用户名字:')
    
    if name == 'egon':
        print('超级管理员')
    elif name == 'tom':
        print('普通管理员')
    elif name == 'jack' or name == 'rain':
        print('业务主管')
    else:
        print('普通用户')
    
    练习二:根据用户输入内容输出其权限
    根据用户输入内容输出其权限
    三 .流程控制之while循环
    1. while循环
    while 条件:    
        # 循环体
        # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
        # 如果条件为假,那么循环体不执行,循环终止
    count=0
    while count <= 10:
        print('loop',count)
        count+=1
    打印0-10
    count=0
    while count <= 10:
        if count%2 == 0:
            print('loop',count)
        count+=1
    打印0-10之间的偶数
    num=0
    while num<5:
     num=num+1
     print(num)
    # 1
    # 2
    # 3
    # 4
    # 5
    输出一到五的值
    #  # 
    sum=0
    num=1
    while num<=100:
     sum+=num
     num+=1
    print(sum)  #5050
    计算100一百的和
    # # 
    str="ABCDEFGAAAAAAAAAAA"
    index=0
    while index<len(str):
     print( index,str[index])
     index+=1
     
    # 1 ==== B
    # 2 ==== C
    # 3 ==== D
    # 4 ==== E
    # 5 ==== F
    # 6 ==== G
    打印字符串每一个
    # 输出所有三位数的水仙花数
    
    num=100
    while num<=999:
     a=num%10
     b=num//10%10
     c=num//100
     if num==a**3+b**3+c**3:
        print(num)
    
     num+=1
    # 153
    # 370
    # 371
    # 407
    水仙花数
    str=input("请输入字符串:")
    index=0
    sum=0
    while index<len(str):
        if str[index]>="0" and str[index]<="9":
             sum+=int(str[index])
        index+=1
    print(sum)
    
    # 字符串比较大小是比的ASCII的值
    计算字符串的下标的和
    tag=True 
    
      while tag:
    
        ......
    
        while tag:
    
          ........
    
          while tag:
    
            tag=False
    循环嵌套
    #与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------
    
    #如果执行过程中被break啦,就不会执行else的语句啦
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    
    Loop 1
    Loop 2
    -----out of while loop ------
    2.死循环
    import time
    num=0
    while True:
        print('count',num)
        time.sleep(1)
        num+=1 
    # 死循环   表达式永远为真的循环
    while 2:
        print("哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈")
    var = 1
    while var == 1 :  # 该条件永远为true,循环将无限执行下去
       num = raw_input("Enter a number  :")
       print "You entered: ", num
     

     四. 流程控制之for循环

    1 .for 语句

    格式: 

    for 变量名 in 集合
    语句

    for  aa in 'Python':     # 第一个实例
       print ('当前字母 :', aa)
    
    # 当前字母 : P
    # 当前字母 : y
    # 当前字母 : t
    # 当前字母 : h
    # 当前字母 : o
    # 当前字母 : n
    for循环字符串
    fruits = ['banana', 'apple',  'mango']
    for bb in fruits:        # 第二个实例
       print ('当前字母 :', bb)
    # 当前字母 : banana
    # 当前字母 : apple
    # 当前字母 : mango
    for循环列表
    # range() 函数   列表生成器
    # 功能:生成数列
    print(range(10))  #range(0, 10)
    for aa in range(5):   
       print(aa)  #0 1 2 3 4
    for循环与range生成器函数
    for b in range(2,20,2):   
      print(b)  #
    # 2
    # 4
    # 6
    # 8
    # 10
    # 12
    # 14
    # 16
    # 18
    for与range

    使用for循环同时遍历元素下标

    numerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
    Python 2.3. 以上版本可用,2.6 添加 start 参数
    # enumerate(sequence, [start=0])
    参数
    sequence -- 一个序列、迭代器或其他支持迭代对象。
    start -- 下标起始位置

    seq = ['one', 'two', 'three']
    for i, element in enumerate(seq):
        print (i, element)
    # 0 one
    # 1 two
    # 2 three
    # for  循环求一加到100
    sum=0 
    for a in range(1,101): #5050
       sum+=a
    print(sum)
    五 .break语句

    break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,

    也会停止执行循环语句。
    break语句用在while和for循环中。

    注意:只能结束最近的循环   就是当前循环

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    for letter in 'Python':     # 第一个实例
       if letter == 'h':
          break
       print ('当前字母 :', letter)
    
    #  当前字母 : P
    # 当前字母 : y
    # 当前字母 : t
    var = 10                    # 第二个实例
    while var > 0:              
       print ('当前变量值 :', var)
       var = var -1
       if var == 5:   # 当变量 var 等于 5 时退出循环
          break
    # 当前变量值 : 10
    # 当前变量值 : 9
    # 当前变量值 : 8
    # 当前变量值 : 7
    # 当前变量值 : 6
    # 
    break案例
    # 注意循环中可以有else语句 break导致循环截止  不会执行else里的语句
    num=1
    while num<=10:
        print(num)    # 1 2 3
        if num==3:  
          break
        num+=1
    else:
        print("因为有braek就不会执行else中的语句")
    六 . continue语句

     Python continue 语句跳出本次循环,而break跳出整个循环。
    continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
    continue语句用在while和for循环中。
    当前最近的循环

    # 
    var = 10                    # 第二个实例
    while var > 0:              
       var = var -1
       if var == 5:
          continue
       print ('当前变量值 :', var)
    
    # 当前变量值 : 9
    # 当前变量值 : 8
    # 当前变量值 : 7
    # 当前变量值 : 6
    # 当前变量值 : 4
    # 当前变量值 : 3
    # 当前变量值 : 2
    # 当前变量值 : 1
    # 当前变量值 : 0
    for letter in 'Python':     # 第一个实例
       if letter == 'h':
          continue
       print ('当前字母 :', letter)
    # 当前字母 : P
    # 当前字母 : y
    # 当前字母 : t
    # 当前字母 : o
    # 当前字母 : n
    # 
    #break用于退出本层循环
    while True:
        print "123"
        break
        print "456"
    
    #continue用于退出本次循环,继续下一次循环
    while True:
        print "123"
        continue
        print "456"
    七 .练习for ,while , for break ,continue
    #1. 使用while循环输出1 2 3 4 5 6     8 9 10
    #2. 求1-100的所有数的和
    #3. 输出 1-100 内的所有奇数
    #4. 输出 1-100 内的所有偶数
    #5. 求1-2+3-4+5 ... 99的所有数的和
    #6. 用户登陆(三次机会重试)
    #7:猜年龄游戏
    要求:
        允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
    #8:猜年龄游戏升级版 
    要求:
        允许用户最多尝试3次
        每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
        如何猜对了,就直接退出 
    
    #题一
    count=1
    while count <= 10:
        if count == 7:
            count+=1
            continue
        print(count)
        count+=1
        
    count=1
    while count <= 10:
        if count != 7:
            print(count)
        count+=1
        
    #题目二
    res=0
    count=1
    while count <= 100:
        res+=count
        count+=1
    print(res)
    
    #题目三
    count=1
    while count <= 100:
        if count%2 != 0:
            print(count)
        count+=1
        
    #题目四
    count=1
    while count <= 100:
        if count%2 == 0:
            print(count)
        count+=1
        
        
        
    #题目五
    res=0
    count=1
    while count <= 5:
        if count%2 == 0:
            res-=count
        else:
            res+=count
        count+=1
    print(res)
        
    
    #题目六
    count=0
    while count < 3:
        name=input('请输入用户名:')
        password=input('请输入密码:')
        if name == 'egon' and password == '123':
            print('login success')
            break
        else:
            print('用户名或者密码错误')
            count+=1
    
    #题目七
    age_of_oldboy=73
    
    count=0
    while count < 3:
        guess=int(input('>>: '))
        if guess == age_of_oldboy:
            print('you got it')
            break
        count+=1
    
    #题目八
    age_of_oldboy=73
    
    count=0
    while True:
        if count == 3:
            choice=input('继续(Y/N?)>>: ')
            if choice == 'Y' or choice == 'y':
                count=0
            else:
                break
    
        guess=int(input('>>: '))
        if guess == age_of_oldboy:
            print('you got it')
            break
        count+=1


    #打印九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s' %(i,j,i*j),end=' ')
        print()
    #分析
    '''
    
                 #max_level=5
        *        #current_level=1,空格数=4,*号数=1
       ***       #current_level=2,空格数=3,*号数=3
      *****      #current_level=3,空格数=2,*号数=5
     *******     #current_level=4,空格数=1,*号数=7
    *********    #current_level=5,空格数=0,*号数=9
    
    #数学表达式
    空格数=max_level-current_level
    *号数=2*current_level-1
    
    '''
    
    #实现
    max_level=5
    for current_level in range(1,max_level+1):
        for i in range(max_level-current_level):
            print(' ',end='') #在一行中连续打印多个空格
        for j in range(2*current_level-1):
            print('*',end='') #在一行中连续打印多个空格
        print()
    
    打印金字塔
    8 .三元运算符
    # 三元运算符
    a=6
    b=2
    f=a if a>b else b
    print(f)
    # 变量 = 条件返回True的结果 if 条件 else 条件返回Fales结果
    # 6
    
    
    
     






















  • 相关阅读:
    Spark在MaxCompute的运行方式
    新功能初探 | MySQL 8.0 Multi-Valued Indexes功能简述
    吐血整理 | 1000行MySQL学习笔记,不怕你不会,就怕你不学!
    阿里巴巴架构师:十问业务中台和我的答案
    C# int?
    页面后退清空缓存
    oracle 中 创建序列sequence
    sql 与 oracle 几个简单语法差别
    oracle 中用法dual
    将DataTable进行分页并生成新的DataTable
  • 原文地址:https://www.cnblogs.com/Sup-to/p/10829026.html
Copyright © 2011-2022 走看看