二、while 循环、编码、格式化输出、运算符

二、while 循环、编码、格式化输出、运算符

1.今日内容大纲

  • pycharm 的安装以及简单使用辅助开发软件,代码逐行调试,设置高端,不会提示、dbug模式
  • 格式化输出
  • while 循环
  • 运算符 and or not
  • 编码的初识

2.while 循环

1.while 循环

  • why : 大气循环,歌曲循环;程序中:输入用户名和密码

  • what: while 无线循环

  • how:

    • 基本结构
      while 条件:
      循环体

    • 初识循环
      while True:
      print('狼的诱惑')
      print('我们不一样')
      print('月亮之上')
      print('庐州月')
      print('人间')

    • 基本原理
      1.先判断条件是否是True
      2.如果是True进入循环体
      3.执行到循环体的底部
      4.继续判断条件,条件成立,进入循环体
      .............

    • 循环如何终止

      • 改变条件
        flag = True
        while flag:
        print('狼的诱惑')
        print('我们不一样')
        print('月亮之上')
        flag = False
        print('庐州月')
        print('人间')

        练习题:1~ 100 所有的数字

        count = 1
        flag = True
        while flag:
        print(count)
        count = count + 1
        if count == 101:
        flag = False

        count = 1
        while count < 101:
        print(count)
        count = count + 1

        1 + 2 + 3 + .....100 的最终结果

        count = 1
        s = 0

        while count < 101:
        s = s + count
        count = count + 1
        print(s)

      • brake
        while True:
        print('狼的诱惑')
        print('我们不一样')
        print('月亮之上')
        break
        print('庐州月')
        print('人间')
        print(111)

      • 系统命令
        quit(),exit()

      • continue

        continue : 退出本地循环,继续笑一次循环

        flag = True
        while flag:
        print(111)
        print(222)
        flag = False
        continue
        print(333)

        while else: while 循环如果被break打断,则不执行else语句

        count = 1
        while count < 5:
        print(count)
        if count == 2:
        break
        count = count + 1
        else:
        print(666)

      • where : 你需要重复之前的动作,输入用户名密码,考虑到while 循环
        2.格式化输出

    • 字符串中想让某些位置变成动态可传入的,首先要考虑到格式化输出
      3.运算符:
      算数运算符 + - ,比较运算符 > = ,赋值运算符=,+= 逻辑运算符 , and or ,成员运算符 not in /in
      i1 = 2
      i2 = 3
      print(2 ** 3)
      print(10 // 3) # 取整除
      print(10 % 3)

      print(3! = 4)
      count = 1
      count = count + 1
      count += 1
      print (count)

      and or not

      1. 在没有()的情况下,优先级: not > and > or ,同一优先级从左至右依次计算

      情况1:两边都是比较运算

      print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # True

      print(True or False)

      情况2: 两边都是整数

      '''
      x or y : x 为真,值就是 x ,x 为假,值就是 y
      '''

      and 正好相反

      print (1 or 2) # 1
      print (3 or 2) # 3
      print (4 or 2) # 4
      print (-1 or 2) # -1
      print (0 or 2) # 2

      print (1 and 2) # 2

    数据类型之间的转换
    # str ---> int : 只能是纯数字组成的字符串
    s1 = '000100'
    print(int(s1))
    # int ---> str
    i1 = 100
    print(str(i1),type(str(i1)))
    # int ---> bool : 非零即True,0为False
    i = 0
    print(bool(i))
    # bool ---> int
    print(int(True)) # 1
    print(int(False)) # 0

    4.编码的初识重点
    计算机存储文件,存储数据,以及将一些数据信息通过网络发送出去,
    存储发送的数据什么内容?底层都是01010101

    • 密码本:010101110 二进制与文字的对应关系

    • 最早的计算机密码本
      ASCII码:只包含 英文字母 数字 特殊字符

    • 0000 0001 : a
      0000 0101 : ;
      8bit == 1byte
      'hello123': 8byte

    • gbk : 英文字母 数字 特殊字符 和 中文 (国标)
      一个英文字母: 0000 0001 : a # 在gbk占 一个字节
      一个中文 中: 0000 0001 0100 0001 : 中 # 占 二个字节
      Unicode: 万国码 把世界上所有的文字都记录到这个密码本
      期初一个字符用2个字节表示:
      0000 0001 0000 0011: a 2个字节
      0000 0001 0100 0001 : 中 2个byte

      	后来为了涵盖全部文字:
      				0000 0001  0000 0011  0000 0001  0000 0011:             a   4 个
      				0000 0001  0100 0001  0000 0001  0000 0011  :           中   4个
      	浪费空间,浪费资源。
      

Utf-8:升级:最少用8bit1个字节表示一个字符。

0000 0011:             				a   1字节

0000 0011 0000 0011   		欧洲 2个字节

0000 0011 0000 0011 0000 0011 中: 3个字节。

重点

'中国12he' : GBK 8 个字节

'中国12he' : UTF-8 10 个字节

8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024TB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB    

7.6MB ---> 7.6 * 1024 * 1024 * 8

明日内容:

1. 二进制与十进制之间的转换
  1. str bool int 转换
  2. str具体操作方法:索引切片步长,常用操作方法,
  3. for 循环
posted @ 2019-05-05 19:45  你站在冰箱上干嘛!  阅读(165)  评论(0编辑  收藏  举报