• 划船学python——语法(二)循环语句


    while循环语句

    • while循环
    • for循环(后期)
    while 条件:
        ...
        ...
        ...
    
    print("123")
    while 条件:
      ...
      ...
      ...
    print(456)
    

    语句基本使用

    示例1:

    print("开始")
    while True:
        print("Alex是个小都比")
    print("结束")
    
    # 输出:
    开始
    Alex是个小都比
    Alex是个小都比
    Alex是个小都比
    Alex是个小都比
    ...
    

    示例2:

    print("开始")
    while 1 > 2:
    	print("如果祖国遭受到侵犯,热血男儿当自强。")
    print("结束")
    
    # 输出:
    开始
    结束
    

    示例3:

    data = True
    print("开始")
    while data:
    	print("如果祖国遭受到侵犯,热血男儿当自强。")
    print("结束")
    
    # 输出:
    开始
    如果祖国遭受到侵犯,热血男儿当自强。
    如果祖国遭受到侵犯,热血男儿当自强。
    如果祖国遭受到侵犯,热血男儿当自强。
    ...
    

    示例4:

    print("开始")
    flag = True
    while flag:
    	print("滚滚黄河,滔滔长江。")
    	flag = False
    print("结束")
    
    # 输出:
    开始
    滚滚黄河,滔滔长江。
    结束
    

    示例5:

    print("开始")
    num = 1
    while num < 3:
    	print("滚滚黄河,滔滔长江。")
    	num = 5
    print("结束")
    
    # 输出:
    开始
    滚滚黄河,滔滔长江。
    结束
    

    示例6:

    print("开始")
    num = 1
    while num < 5:
    	print("给我生命,给我力量。")
    	num = num + 1
    print("结束")
    
    # 输出:
    开始
    给我生命,给我力量。
    给我生命,给我力量。
    给我生命,给我力量。
    给我生命,给我力量。
    结束
    
    练习题:重复3次输出我爱我的祖国。
    num = 1
    while num < 4:
    	print("我爱我的祖国")
    	num = num + 1
    	
    我爱我的祖国
    我爱我的祖国
    我爱我的祖国
    

    综合练习题

    1,请实现一个用户登录系统,如果密码错误则反复提示让用户重新输入,直到输入正确才停止。

    print("开始运行系统")
    flag = True
    while flag:
        user = input("请输入用户名:")
        pwd = input("请输入密码:")
        if user == "yanghongjun" and pwd == "homjun":
            print("登录成功")
        else:
            print("用户名或密码错误")
    
    print("系统运行结束")
    

    2,补充代码实现
    猜数字,设定一个理想数字比如:66,一直提示让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有输入等于66,显示猜测结果正确,然后退出循环。

    data = True
    while data:
        num = input("请输入一个数字:")
        num = int(num)
        if num > 66:
            print("大了")
        elif  num < 66:
            print("小了")
        else:
            print("正确")
            data = False
    

    3,使用循环输出1~100所有整数。

    i = 1
    while i <= 100:
        print(i)
        i = i + 1
    

    4,使用循环输出 1 2 3 4 5 6 8 9 10,即:10以内除7以外的整数。

    i = 1
    while i <= 10:
       if i == 7:
           pass
    ##pass 是python内置命令,当i=7 什么都不干,过!
       else:
           print(i)
       i = i + 1
    

    或者

    i = 1
    while i <= 10:
        if i != 7:
            print(i)
        i = i + 1
    

    5,输出 1~100 内的所有奇数。

    i = 1
    while i < 101:
        if i % 2 == 0:
            print(i)
        i = i+1
    

    6,输出 1~100 内的所有偶数。

    i = 1
    while i < 101:
        if i % 2 == 1:
            print(i)
        i = i+1
    

    7,求 1~100 的所有整数的和。

    total = 0
    num = 1
    while num < 101:
        total = total +num
        num = num + 1
    print(total)
    

    8,输出10 ~ 1 所有整数。

    num = 10
    while num > 0:
        print(num)
        num = num - 1
    

    break

    break,用于在while循环中帮你终止循环。

    print("开始")
    while True:
    	print("1")
      break
    	print("2")
    print("结束")
    
    # 输出
    开始
    1
    结束
    

    通过示例来更深入理解break的应用。

    示例1:

    print("开始")
    while True:
    	print("红旗飘飘,军号响。")
    	break
    	print("剑已出鞘,雷鸣电闪。")
    	print("从来都是狭路相逢勇者胜。")
    print("结束")
    

    示例2:

    print("开始")
    i = 1
    while True:
    	print(i)
    	i = i + 1
    	if i == 101:
    		break
    print("结束")
    
    # 输出
    开始
    1
    2
    ...
    100
    结束
    

    示例3:

    print("开始运行系统")
    while True:
    	user = input("请输入用户名:")
    	pwd =  input("请输入密码:")
    	if user == 'homjun' and pwd = "123456":
    		print("登录成功")
    		break
    	else:
    		print("用户名或密码错误,请重新登录")
    print("系统结束")
    
    # 输出
    开始运行系统
    >>> 用户名
    >>> 密码
    正确,登录成功
    	系统结束
    不正确,一直循环输出
    

    所以,以后写代码时候,想要结束循环可以通过两种方式实现了,即:条件判断 和 break关键字,两种在使用时无好坏之分,只要能实现功能就行。

    continue

    continue,在循环中用于 结束本次循环,开始下一次循环。

    print("开始")
    while True:
      print(1)
      continue
      print(2)
      print(3)
    print("结束")
    

    示例1:

    print("开始")
    while True:
    	print("红旗飘飘,军号响。")
    	continue
    	print("剑已出鞘,雷鸣电闪。")
    	print("从来都是狭路相逢勇者胜。")
    print("结束")
    
    # 输出
    开始
    红旗飘飘,军号响。
    红旗飘飘,军号响。
    红旗飘飘,军号响。
    红旗飘飘,军号响。
    ...
    

    示例2:

    print("开始")
    i = 1
    while i < 101:
    	if i == 7:
    		i = i + 1
    		continue
    	print(i)
    	i = i + 1
    print("结束")
    
    # 输出
    开始
    1
    2
    3
    4
    5
    6
    8
    9
    10
    ...
    100
    结束
    

    示例3:

    print("开始")
    i = 1
    while True:
    	if i == 7:
    		i = i + 1
    		continue
    	print(i)
    	i = i + 1
    	if i == 101:
    		break
    print("结束")
    
    # 输出
    开始
    1
    2
    3
    4
    5
    6
    8
    9
    10
    ...
    100
    结束
    

    写在最后,对于break和continue都是放在循环语句中用于控制循环过程的,一旦遇到break就停止所有循环,一旦遇到continue就停止本次循环,开始下次循环。
    当然,通过如果没有了break和continue,我们用while条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。

    while else

    当while后的条件不成立时,else中的代码就会执行。

    while 条件:
      代码
    else:
      代码
    
    while False:
      pass
    else:
      print(123)
    
    num = 1
    while num < 5:
      print(num)
      num = num + 1
    else:
      print(666)
    
    # 输出 
    1
    2
    3
    4
    666
    
    while True:
      print(123)
    	break
    else:
      print(666)
    
    # 输出
    123
    

    字符串格式化

    字符串格式化,使用跟便捷的形式实现字符串的拼接。

    %

    基本格式化操作

    name = "homjun"
    # 占位符
    # text = "我叫%s,今年18岁" %"homjun"
    text = "我叫%s,今年18岁" %name
    
    name = "homjun"
    age = 18
    
    # text = "我叫%s,今年%s岁" %("homjun",18)
    # text = "我叫%s,今年%s岁" %(name,age)
    text = "我叫%s,今年%d岁" %(name,age)
    


    %s:字符串占位符
    %d:整形占位符

    https://www.cnblogs.com/wupeiqi/articles/5484747.html

    message = "%(name)s你什么时候过来呀?%(user)s今天不在呀。" % {"name": "死鬼", "user": "老王"}
    print(message)
    

    百分比

    text = "兄弟,这个片我已经下载了90%了,居然特么的断网了"
    print(text)
    
    text = "%s,这个片我已经下载了90%%了,居然特么的断网了" %"兄弟"
    print(text)
    # 输出:
    兄弟,这个片我已经下载了90%了,居然特么的断网了
    

    一旦字符串格式化中存现百分比的显示,请一定要呀加 %% 以实现输出 %。

    format

    text = "我叫{0},今年18岁".format("homjun")
    
    text = "我叫{0},今年{1}岁".format("homjun",18)
    
    text = "我叫{0},今年{1}岁,真是的姓名是{0}。".format("homjun",18)
    
    text = "我叫{},今年18岁".format("homjun")
    
    text = "我叫{},今年{}岁".format("homjun",18)
    
    text = "我叫{},今年{}岁,真是的姓名是{}。".format("homjun",18,"homjun")
    
    text = "我叫{n1},今年18岁".format(n1="homjun")
    
    text = "我叫{n1},今年{age}岁".format(n1="homjun",age=18)
    
    text = "我叫{n1},今年{age}岁,真是的姓名是{n1}。".format(n1="homjun",age=18)
    
    text = "我叫{0},今年{1}岁"
    data1 = text.format("homjun",666)
    data2 = text.format("alex",73)
    
    text = "我叫%s,今年%d岁"
    data1 = text %("homjun",20)
    data2 = text %("alex",84)
    

    f

    到Python3.6版本,更便捷。

    text = f"嫂子喜欢{'跑步'},跑完之后满身大汗"
    
    action = "跑步"
    text = f"嫂子喜欢{action},跑完之后满身大汗"
    
    name = "喵喵"
    age = 19
    text = f"嫂子的名字叫{name},今年{age}岁"
    print(text)
    
    text = f"嫂子的名字叫喵喵,今年{19 + 2}岁"
    print(text)
    
    # 在Python3.8引入
    text = f"嫂子的名字叫喵喵,今年{19 + 2=}岁"
    print(text)
    
    # 进制转换
    v1 = f"嫂子今年{22}岁"
    print(v1)
    
    v2 = f"嫂子今年{22:#b}岁"
    print(v2)
    
    v3 = f"嫂子今年{22:#o}岁"
    print(v3)
    
    v4 = f"嫂子今年{22:#x}岁"
    print(v4)
    
    # 理解
    text = f"我是{'alex'},我爱大铁锤"
    
    name = "alex"
    text = f"我是{name},我爱大铁锤"
    
    name = "alex"
    text = f"我是{ name.upper() },我爱大铁锤"
    
    # 输出:我是ALEX,我爱大铁锤
    

    谢谢C站秃姥...
    https://space.bilibili.com/283478842?spm_id_from=333.788.b_765f7570696e666f.1

  • 相关阅读:
    Android 5.0 + IDA 6.8 调试经验分享
    UVA 10003
    欧拉项目010:2000000以内的素数和
    Intellij IDEA 配置Subversion插件
    Intellij IDEA 配置Subversion插件时效解决方法
    javascript 关键字不能作为变量来使用
    JavaScript 闭包(个人理解)
    启动IntelliJ IDEA 2016报错:cannot start under Java 1.7 : Java 1.8 or later is required 解决办法
    jquery easyui tree异步加载子节点
    10.2.1itools导入不了歌曲
  • 原文地址:https://www.cnblogs.com/homjun/p/14867965.html
Copyright © 2020-2023  润新知