zoukankan      html  css  js  c++  java
  • while循环、格式化输出、运算符和编码初识

    while循环

    1. while循环的结构

    while 条件:

        执行语句1

        执行语句2

    1 i = 0
    2 while i < 10:
    3     print(i)
    4     i += 1

    运行结果

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Process finished with exit code 0

     while循环可以使用break来终止循环

    1 # 打印1到100
    2 i = 1
    3 while True:
    4     print(i)
    5     if i == 10:
    6         break
    7     i += 1

    运行结果

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Process finished with exit code 0

    终止循环还可以使用quit(), exit(),不过是调用系统命令退出整个程序,不建议使用。

    while还可以与continue配合使用,continue表示结束此次循环,进入下一次循环,来看代码

    1 # 打印1到10里面除6以外的数
    2 i = 1
    3 while i < 11:
    4     if i == 6:
    5         i += 1
    6         continue
    7     print(i)
    8     i += 1

    看看执行结果

    1
    2
    3
    4
    5
    7
    8
    9
    
    Process finished with exit code 0

    再看一个例子:计算1+2+3+...+100的值

    1 sum1 = 0
    2 i = 1
    3 while i < 101:
    4     sum1 += i
    5     i += 1
    6 print(sum1)

    运行结果

    5050
    
    Process finished with exit code 0

    来看另一种写法

    sum1 = 0
    i = 1
    while True:
        sum1 += i
        if i == 100:
            break
        i += 1
    print(sum1)

    运行结果

    5050
    
    Process finished with exit code 0

    既然if可以与else一起使用,那么while可不可以呢?一样是可以的,来看代码

    1 i = 0
    2 while i < 10:
    3     # if i == 5:
    4     #     break
    5     print(i)
    6     i += 1
    7 else:
    8     print("程序正常执行完了"

     运行结果

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    程序正常执行完了

    如果把第3,4行的注释去掉,看看运行结果

    0
    1
    2
    3
    4
    
    Process finished with exit code 0

    看到这里应该就知道了明白了while...else...的意思了,else里面的语句只在while语句正常执行(没有被break、return等打断时)完时才执行

    格式化输出

     1 name = input("请输入姓名:")
     2 age = input("请输入年龄:")
     3 job = input("请输入职业:")
     4 hobby = input("请输入爱好:")
     5 
     6 msg = """------------info of %s-------------
     7 Name: %s
     8 Age: %s
     9 Job: %s
    10 Hobby: %s
    11 -------------end-------------
    12 """ % (name, name, age, job, hobby)
    13 print(msg)

    运行结果

    请输入姓名:张无忌
    请输入年龄:18
    请输入职业:明教教主
    请输入爱好:赵敏
    ------------info of 张无忌-------------
    Name: 张无忌
    Age: 18
    Job: 明教教主
    Hobby: 赵敏
    -------------end-------------

    这里的%表示占位符,意思就是在这里占个坑,s表示占这个坑的是字符串类型,整数类型用d,浮点型用f。那么这里就有一个问题,如果我们的输出内容里有1%这样的百分数怎么办呢,有办法!

    再加一个百分号,对后面的百分号进行转义,也就是告诉python解释器这里是一个单纯的百分号。来看代码

    1 # 格式化输出“我叫**,今年**岁,人生进度%1”
    2 name = input("请输入姓名:")
    3 age = input("请输入年龄:")
    4 msg = """---------info of %s----------
    5 name: %s
    6 age: %s
    7 人生进度:%%1 
    8 """ % (name, name, age)
    9 print(msg)

    运行结果

    请输入姓名:灭霸
    请输入年龄:2
    ---------info of 灭霸----------
    name: 灭霸
    age: 2
    人生进度:%1 
    
    
    Process finished with exit code 0

    如果我们想在百分号里面再插入一个占位符该怎么做呢,来看代码

    1 name = input("请输入姓名:")
    2 age = input("请输入年龄:")
    3 msg = """---------info of %s----------
    4 name: %s
    5 age: %s
    6 人生进度:%%%s 
    7 """ % (name, name, age, int(age))
    8 print(msg)

    运行结果

    请输入姓名:擎天柱
    请输入年龄:3
    ---------info of 擎天柱----------
    name: 擎天柱
    age: 3
    人生进度:%3 
    
    
    Process finished with exit code 0

    运算符

    算术运算

    + : 加

    -  : 减

    *  :乘

    /   :除

    **   :幂

    比较运算

    >    大于

    <     小于

    !=  不等于

    >=    大于等于

    <=   小于等于

    逻辑运算

    and   与,两个都为真结果为真

      3 and 4   返回4

      0 and 2   返回2

      0 and 0   返回0

    or      或,有一个为真即为真,注意前面为真时语句就不会往后执行了

      3 or 4   返回3

      0 or 2   返回2

      0 or 0   返回0

    not    非,真假转换

     混合运算(数字与不等式以逻辑运算符连接)

     规则:(1)先算不等式

    (2)结果是数字那部分时,返回值就是数字的值,结果是不等式那部分时,返回结果就是不等式的bool值

    2 or 3 > 2
    2
    
    5 and 1 > 0
    True
    
    3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
    2

    总结

    优先级:不等式   >   not   >   and   >  or

    混合运算:结果是数字那部分时,返回值就是数字的值,结果是不等式那部分时,返回结果就是不等式的bool值

    编码初识

    ASCII

    8位(1个字节)表示一个字符,可以表示英文字母,数字和特殊字符

    Unicode

    每个字符用四个字节表示

    utf-8

    英文字符:一个字节

    欧洲文字:两个字节

    东亚文字:三个字节

    GBK

    英文字符:一个字节

    中文:两个字节

  • 相关阅读:
    jUploadr:上传图片到 Flickr
    Openbox 3.3
    TightVNC-长途节制软件
    Ion:分页式的窗口操持器
    MOC-节制台音乐播放器
    计算机软件资格考试网站
    WinAPI 字符及字符串函数(2): CharLowerBuff 把缓冲区中指定数目的字符转小写
    WinAPI: 输入光标相关的函数[4]
    一个字符串到数组的例子 回复"成红"的问题, 对其他朋友参考价值不大
    多媒体函数简介
  • 原文地址:https://www.cnblogs.com/zzliu/p/10147380.html
Copyright © 2011-2022 走看看