zoukankan      html  css  js  c++  java
  • Day2 python基础

    一,while 循环的结构:

    '''

    while 条件:

      循环体

    '''

    1.当条件永远为真,则为死循环

    2.判断条件:条件为真,进入循环体,循环体代码从上而下逐行执行到底部,返回 继续判断条件,周而复始

    while True: #死循环
        print('1')
        print('2')
        print('3')
        print('4')

    3.标志位:flag

    flag = True
    while flag:
        print('1')
        print('2')
        flag = False
        print('3')
        print('4')

    例:while循环打印1,2,3,4...100

    #方法1:
    flag = True
    count = 1
    while flag:
        print(count)
        count = count + 1
        if count == 101:
            flag = False
    #方法2:
    count = 1
    while count < 101:
        print(count)
        count = count + 1

    4.break: 循环重视,只用遇到break 立马结束循环。

    while True:
        print(111)
        print(222)
        break
        print(333)
        print(444)
    print(123)

    例:利用break,while 计算1+2+3.....+100的结果

    #方法1
    count = 1
    sum = 0
    while count <= 100:
        sum = sum + count
        count += 1
    print(sum)
    #方法2
    count = 1
    sum = 0
    while True:
        sum = sum + count
        count = count + 1
        if count == 101:
            break
    print(sum)
    #方法3
    flag = True
    count = 1
    sum = 0
    while flag:
        sum = sum + count
        count += 1
        if count == 101:
            flag = False
    print(sum)

    5.continue:结束本次循环,继续下一次循环

    while True:
        print(111)
        print(222)
        continue
        print(333)

    6.while else 结构

    # 如果while循环被break打断,则不执行else代码。
    count = 1
    while count < 5:
        print(count)
        count = count + 1
        if count == 3: break
    else:
        print(666)
    print(222)
    # 应用场景:
    验证用户名密码,重新输入这个功能需要while循环。
    无限次的显示页面,无限次的输入

    二,格式化输出
    制作一个模板,某些位置的参数是动态的,像这样,就需要用格式化输出。字符串的动态替换。
    怎么实现:
    name = input('请输入姓名:')
    age = int(input('请输入年龄:'))
    sex = input('请输入性别:')
    #% 占位符  s 数据类型为字符串 d 数字
    #第一种方式:
    msg = '你的名字是%s,你的年龄%d,你的性别%s' % (name,age,sex)
    print(msg)
    
    #第二种方式
    msg = '你的名字是%(name1)s,你的年龄%(age1)d,你的性别%(sex1)s' % {'name1':name,'age1':age,'sex1':sex}
    print(msg)
    
    #bug 点  在格式化输出中,只想单纯的表示一个%时,应该用%% 转意表示
    msg = '我叫%s,今年%d,我的学习进度1%%' % ('王大锤',28)
    print(msg)

    三,基本运算符:

    算数运算:
    + 加:两个对象相加a - 减:得到负数或是一个数减去另一个数 * 乘:两个数相乘或是返回一个被重复若干次的字符串 / 除:x除以y % 取模:返回除法的余数 ** 幂:返回x的y次幂 // 取整除:返回商的整数部分
    比较运算:
    ==   等于:比较对象是否相等
    !=    不等于:比较两个对象是否不相等
    <>   不等于:比较两个对象是否不相等
    >     大于:返回x是否大于y
    <     小于:返回x是否小于y。所有比较运算符返回1表示真,返回-表示假,与True和False等价
    >=   大于等于:返回x是否大于等于y
    <=   小于等于:返回x是否小于等于y
    赋值运算:
    a = 1          赋值:数据1指向变量a
    a += 1    相当于 a = a + 1
    a -= 1     相当于 a = a - 1
    a *= 2     相当于 a = a * 2  
    a /= 2    相当于 a = a / 2
    a %= 2    相当于 a = a % 2
    a **= 2    相当于 a = a ** 2
    a //= 2     相当于 a = a // 2
    逻辑运算:
    and:布尔''
    or:    布尔''
    not:  布尔''
    针对逻辑运算的进一步研究:
          在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为()>not>and>or,同一优先级从左往右计算。
    
    例:
    #第一种情况,前后条件为比较运算4
    print(1 < 2 or 3 > 1)
    print(1 < 2 and 3 > 4)
    print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2)
    print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
    print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    
    # 第二种情况,前后两边的条件为数值
    '''
    x or y if x is True,return x
    '''
    print(1 or 2)
    print(1 and 2)
    print(5 or 2)
    print(5 and 2)
    print(0 or 2)
    print(-1 or 2)
    
    补充:
    # int < -转换- > bool
    # 0 对应的bool值为False,非0 都是True.
    # True     1    ,False     0
    
    print(bool(100))
    print(bool(-1))
    print(bool(0))
    print(int(True))
    print(int(False))
    # 应用场景:
    if while 等条件判断(数据库,Django orm Q查询)。

    四,编码初识、
    设备之间通信时,需要一个共用的密码本,记录明文与二进制的对应关系
    python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。
    ASCII:最初版本的密码本:所有的英文字母,数字,特殊字符。是基于拉丁字母的一套电脑编码系统,
    主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,
    所以,ASCII码最多只能表示 256 个符号。 一个字符 000 0001 8位 == 1个字节 对于ASCII码来说: 'hello laddy' 11个字符,11个字节。
    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的
    字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有
    的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536, 注:此处说的的是最少2个字节,可能更多。 浪费资源,占空间。 起初:1个字符 16位 2个字节表示。 改版:1个字符 32位 4个字节表示。
    UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行
    分类:
    1.ascii码中的内容用1个字节保存、 2.欧洲的字符用2个字节保存, 3.东亚的字符用3个字节保存...
     gbk:国标,只包含 中文,英文(英文字母,数字,特殊字符)
            字母:   一个字节
            中文: 两个字节
    单位转换:
    8 bit == 1 bytes
    1024 bytes == 1 kb
    1024 kb == 1 MB
    1024 MB == 1 GB
    1024 GB == 1 TB
    1024 TB == 1 PB
  • 相关阅读:
    Golang 单例模式 singleton pattern
    golang可见性规则(公有与私有,访问权限)
    golang init方法和main方法初始化顺序
    Golang的面向对象编程【结构体、方法、继承、接口】
    Convert Sorted List to Binary Search Tree——将链表转换为平衡二叉搜索树 &&convert-sorted-array-to-binary-search-tree——将数列转换为bst
    C/C++程序到内存分配(转)
    有关C/C++指针的经典面试题(转)
    C结构体之位域(位段)(转)
    Balanced Binary Tree——数是否是平衡,即任意节点左右字数高度差不超过1
    Path SumI、II——给出一个数,从根到子的和等于它
  • 原文地址:https://www.cnblogs.com/lianyeah/p/9416008.html
Copyright © 2011-2022 走看看