美文网首页
2018-09-27循环语句

2018-09-27循环语句

作者: 未来_9070 | 来源:发表于2018-10-06 20:54 被阅读0次

    程序三大流程

    • 顺序 —— 从上向下,顺序执行代码
    • 分支 —— 根据条件判断,决定执行代码的 分支
    • 循环 —— 让 特定代码 重复 执行

    python提供了for和while循环

    循环类型 描述
    while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体
    for 循环 重复执行语句
    嵌套循环 你可以在while循环体中嵌套for循环

    while循环

    流程图
    image.png
    语句

    同样需要注意冒号和缩进

            定义初始值
            while 布尔表达式:
    
                循环执行体
    
                迭代语句
    
    输出1~100数字
    #输出1~100
    i=1#定义i的初始值
    while i <= 100:#判断条件
        print(i)
        i+=1#叠加i
    
    求1~100的和
    '''
    需求分析:
        1.声明一个变量 存放和
        2.找出1到100之间的数字
        3.完成叠加
        4.输出结果
    
    程序的运行过程:
    
        sum=0
        a=1
    
        循环第一次:
            a=1
            sum=0+1
        循环第二次:
            a=2
            sum=0+1+2
        循环第三次:
            a=3
            sum=0+1+2+3
        循环第四次:
            a=4
            sum=0+1+2+3+4
        ...
        循环第九十九次:
            a=99
            sum=0+1+2+3+4+...+99
        
        循环第一百次:
            a=100
            sum=0+1+2+3+4+...+99+100
    '''
    
    #1~100的总和
    sum=0#声明变量存放和
    a=1#定义i的初始值
    while a <= 100:#判断条件,找出1到100之间所有的数字
         sum=sum+a#完成叠加
         a+=1
    print("1到100的总和:%s"%sum)
    
    无限循环
    #我们可以通过设置条件表达式永远不为 false 来实现无限循环
    var = 1
    while var == 1 :  # 表达式永远为 true
       num = int(input("输入一个数字  :"))
       print ("你输入的数字是: ", num)
     
    print ("Good bye!")
    
    while 和 if 结合使用
    """
    需求:
        计算1到100之间偶数的和
        偶数:能被2整除的数
    
    需求分析:
        1.声明变量 存放和
    
        2.找出1到100之间所有的数字
    
        3.判断是否是偶数
    
        4.偶数完成叠加
    
        5.输出结果
    
    程序的运行过程:
    
        sum=0
        a=1
    
        循环第一次:
            a=1
    
        循环第二次:
            a=2
            sum=0+2
    
        循环第三次:
            a=3
    
        循环第四次:
            a=4
            sum=0+2+4
    
    
    """
    
    #声明变量 存和
    sum=0
    
    #找出1到100之间所有的数字
    a=1
    while a<=100:
        
        #判断是否是偶数
        if a%2==0:
            #完成叠加
            sum=sum+a
    
        a+=1
    #输出结果
    print("1到100之间偶数的和是:%s"%sum)
    
    
    while 和 while 结合
    
    """
    
        需求:输出九九乘法表
    
        需求分析:
    
        外层循环控制行  9
        
        内层循环控制每行的列数  内层循环会随着外层循环的增多而增多
    
    
    程序的运行过程:
    
        x=1
        外层循环第一次:
            x=1
            y=1
            内层循环:
                输出内容:1*1=1  
    
        外层循环第二次:
            x=2
            y=1
            内层循环:
                输出内容:2*1=2  2*2=4   
        外层循环第三次:
            x=3
            y=1
            内层循环:
                输出内容:3*1=3  3*2=6   3*3=9   
        
        ...
    """
    
    #外层循环控制行
    x=1
    while x<=9:
        #内层循环 控制每行的列数
        y=1
        while y<=x:
            print("%s*%s=%s \t"%(x,y,x*y),end="")
            y+=1
            
        #换行
        print()
        x+=1
    
    while 和 break(break要结合if)

    break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

    var = 10                    
    while var > 0:              
       print ('当期变量值为 :', var)
       var = var -1
       if var == 5:
          break
    print ("Good bye!")
    
    while 和 continue(continue也是和if结合)

    continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

    var = 10                    # 第二个实例
    while var > 0:              
       var = var -1
       if var == 5:             # 变量为 5 时跳过输出
          continue
       print ('当前变量值 :', var)
    print ("Good bye!")
    
    
    

    for循环

    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

    遍历列表
    languages = ["C", "C++", "Perl", "Python"]
    for a in languages:
       print(a)
    
    for 和 break
    sites = ["Baidu", "Google","Runoob","Taobao"]
    for site in sites:
        if site == "Runoob":
            print("菜鸟教程!")
            break
        print("循环数据 " + site)
    else:
        print("没有循环数据!")
    print("完成循环!")
    
    range()函数

    如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列

    for i in range(5):
        print(i)
    
    for i in range(5,9):
        print(i)
    
    for i in range(5,17,3):
        print(i)
    
    for 和 for
    for n in range(2, 40):
        for x in range(2, n):
            if n % x == 0:
                print(n, '等于', x, '*', n//x)
                break
    
    for 和 break
    for letter in 'Runoob':     
       if letter == 'b':
          break
       print ('当前字母为 :', letter)
    
    for 和 continue
    for letter in 'Runoob':     
       if letter == 'o':        # 字母为 o 时跳过输出
          continue
       print ('当前字母 :', letter)
    

    while 、for 练习题

    求1~100的偶数
    for i in range(0,101,2):
        print(i,end="\t")
    
    i=0
    while i<=100:
        if i%2==0:
            print(i,end="\t")
        i+=1
    
    输出10行10列的
    for i in range(1,11):
        for j in range(1,11):
            print("*",end="")
        print()#换行
    
    i=1
    while i<=10:
        p=1
        while p<=10:
            print("*",end="")
            p+=1  
        i+=1
        print()
    
    *输出直角三角形
    for i  in  range(1,7):
        #print(i)
        for j in range(1,i):
            print("*",end="")
        print()
    
    i=1
    while i<7:
        p=0
        while p<i:
            print("*",end="")
            p+=1  
        print()
        i+=1
    
    九九乘法表
    for i in range(1,10):
        for j in  range(1,i):
            print("%s*%s=%s"%(j,i,j*i),end=" ")
        print()#换行
    
    学生管理简易系统
    print(" ========================================")
    print(" 欢迎进入学员管理系统")
    print("a.注册")
    print("b.登录")
    print("c.退出")
    print("d.修改密码")
    print(" ========================================")
    
    #超级账号
    new_user = "Mr Hu"#超级管理员,胡老师
    new_password = "so cool"
    while True:
        # 判断你的选项
        choose = input("请输入您的选项a b c d:")
    
    
        # 选项a
        if choose == "a":
            print("欢迎进入注册界面")
            new_user = input("输入注册账号:")
            #global new_user
            new_password = input("输入注册密码:")
            #global new_password
            print("注册成功")
    
    
        # 选项b
        elif choose == "b":
            print("进入登录界面")
            user = input("输入账号:")
            password = input("输入密码:")
            if (user == new_user and password == new_password) or (user == "Mr Hu" and password == "so cool"):
                print("登陆成功")
            else:
                print("输入有误")  # 存在bag,不知道密码还是账号有误,而且退出有问题。
    
        #选项c
        elif choose == "c":
            print("再见,欢迎下次进入。")
            break
    
        #选项d
        elif choose == "d":
            print("进入修改密码界面")
            new_password = input("请输入您要修改的密码:")
            print("修改成功")
    
        #其他情况
        else:
            print("该功能不支持")
    
    

    总结

    • for循环 用于匹配特定集合,并进行循环
    • while循环 用于判断条件为真,并进行循环

    相关文章

      网友评论

          本文标题:2018-09-27循环语句

          本文链接:https://www.haomeiwen.com/subject/mgwyoftx.html