python学习

python学习,第1张

python学习

第二天

数据类型转换:
    自动类型转换:
        布尔类型和数值型,可以自动类型转换
        在计算机中,布尔类型:True = 1 , False = 0

    强制类型转换:
        python字符串是无法和布尔类型,以及数值型进行自动类型转换
        str( 数值或布尔 )             --- 将数值或布尔转换字符串
        int( 字符串 )                    --- 将字符串转换为整数
        float( 字符串 )                 --- 将字符串转换为浮点数

常见的运算符:
    算术运算符:
        +
        -
        *
        /          --- 求商
        %        --- 求商取余
        //         --- 求商取整
        **        --- 幂次方,相当也有了开根号 --- 9 ** 0.5 = 3

    关系(比较)运算符:
        >
        <
        >=
        <=
        ==
        !=

        返回结果是一个布尔类型(0或1)

    逻辑运算符:
        与    and         --- 并且关系
        或    or           --- 或者关系
        非    not         --- 不是、取反

   注:Python中编写时的“与”不是&,而是and。“或”不是 | ,而是or
    所属运算符
        in                  --- 判断某个值是否在一个容器中
        not in            --- 判断某个值是否不在一个容器中

    注:python中没有自加和自减运算符(没有    i++  ++i  i--  --i 等)


    赋值符:
        =            --- 将等号右侧的值,赋值到左侧,等于赋值符的优先级别非常低

    二元赋值符:
        +=            --- a += 1 --- a =  a + 1    
        -=          
        *=
        /=
        **=
        //=
        %=
    三目运算符:
        其他编程语言中:  表达式 ? 值1 : 值2  (c = a+b ? 1:0 --- 如果c的值为a+b则赋给c的值为1)
    python中三目运算符:
            值1 if 表达式 else 值2
            案例:
            a = 20
            b = 10
            c = "神奇海螺" if a > b else "无所不知"
           结果c的值是"神奇海螺"

    位运算符:
        bit:计算机中最小的单位
        byte:字节,计算机中的基本单位,一个字节=8个位

        &          --- 与运算
        |           --- 或运算
        ^          --- 异或运算
        ~          --- 按位取反
        <<        --- 左移运算
        >>        --- 右移运算

Input —— 从键盘读取输入数据

Type(a)——查看a的数据类型

注意:input读入的数据为字符串类型(str),如果需要print输出,要么在输出语句中用%s,要么对读入的数据进行数据转换 

print(“num1 = %s , num2 = %s ” %(num1, num2)) —— 将(num1,num2)的num1插入到num1=之后,将(num1,num2)的num2插入到num2=之后

print输出的几种格式

如下 *** 作都是一个字节运算的
【注意:目前讲解的都是整数】
n1 = 10        --- 0000 1010
n2 = 11        --- 0000 1011

n1 + n2 = 21

    0000 1010
+  0000 1011 
---------------------
    0001 0101    --- 21

一旦引入负数,为了表示正负(+ -)符号,固定最高位称为符号位,用来表示正负
    符号位:0表示正数,1表示负数

n3 = -1        --- 1000 0001    
n4 = -2        --- 1000 0010
n3 + n4 = -3    

    1000 0001
+  1000 0010   
---------------------
    10000 0011    溢出一个位,因此结果是:0000 0011 = 3


在二进制,如果数值是正数,进行运算,和十进制一样,结果正常。但是如果引入负数,结果就会错误
为了解决这个问题,计算机学家,如下的三个概念:
    原码:数字的二进制位
    反码:正数不变,负数除符号位,其余取反
    补码:正数不变,负数的反码+1

例:原码        0000 0001        1000 0001

       反码        0000 0001        1111 1110

       补码        0000 0001        1111 1111


计算机中所有二进制都是以补码运算的(为了解决负数问题)

1111 1111
1111 1110    +
---------------
1111 1101    此处为补码,要想得到结果需要化为原码

转换后得   1000 0011    -3

与运算    &
n1 = 10        # 0000 1010
n2 = 11        # 0000 1011

n1 | n2

0000 1010
0000 1011    &
------------------
0000 1010    10

或运算   |
0000 1010
0000 1011    |
------------------
0000 1011    11

异或运算 ^        相反为真
0000 1010
0000 1011    ^
------------------
0000 0001    1

按位取反 ~
~xxxx xxxx,取反后如果是负数(例如~0000 0001 => 1111 1110),则是补码类型,要转换成原码

左移 <<

a << 2 --- a向左移动2位
右移  >>

a >> 2 --- a向右移动2位

注意:python中的右移都是无符号右移,不存在有符号右移

全局函数:
    print()             --- 标准输出
    input()            --- 标准输入
    type()             --- 类型判断函数
    int()                --- 将数值或布尔转换字符串   
    float()             --- 将字符串转换为整数       
    str()                --- 将字符串转换为浮点数    

程序控制流程
    控制语句之间的关联关系,实现逻辑性的
   顺序
        从上到下、从左到右执行流程
   选择
        单分支:
            if 条件:
                # 缩进体就是符合条件,需要执行的暧昧
        双分支:
            if 条件:
                # 条件成立时,要执行的代码
            else:
                # 条件不成立的时候,需要执行的代码
        多(三)分支:
            if condition1:
                # 条件1成立时,要执行的代码
            elif condition2:
                # 条件2成立时,要执行的代码
            ……
            [else:
                # 剩余条件
            ]

注:

             If + 条件 + :+ 回车

             +空格或tab,以下的if都按照这样的规则

作业要求:

    作业1:两个数交换,要求使用异或法完成

    作业2:判断一个数,是否是2的指数

        2的指数
            0000 0010    0000 0001
            0000 0100    0000 0011
            0000 1000    0000 0111
            0001 0000    0000 1111

        提示:所有2的指数:n & (n - 1) == 0
    作业3:给定成绩,判断用户成绩的档次
        100:提示满分
        90~100:优秀
        80~90:良好
        70~80:还可以,多多努力
        60~70:合格
        0~60:不合格
        0:鸡蛋


    作业4:有1、3、5、7、9组成的所有不重复的四位数之和是多少?( )
        A、666700            B、666600
        C、678860            D、665500

    作业5:一个会议有12个员工,假设已有8个员工是女性,求所有员工都是女性的概率( )
        A、11/23            B、12/35
        C、2/9                D、1/8
    
    作业6:
        在控制台上,输入如下信息
        a        a^2        a^3
        1        1        1
        2        4        8
        3        9        27
    作业7:下列哪一项是“4是奇数或-9为正数”的否定( )                                    
        A、4是偶数或-9不是负数                                                          
        B、4是奇数或-9不是负数                        
        C、4是偶数和-9是负数
        D、4是奇数和-9不是负数
    作业8:如果A是“10110110”,B是“11100000”,C是“10100000”,下面成立的是(  )
        A、    C=A|B              
        B、    C=~A               
        C、    C=~B
        D、    C=A&B                
    作业9:判断一个整数是奇数还是偶数,至少有两种方式实现(位运算已经讲解的话)

    
    作业10:求矩形的面积和周长


    作业11:根据天数(从控制台上输入)计算周数和剩余的天数


    作业12: 根据已知圆的半径radius(从控制台上输入),求其面积和周长(PI可以使用Math.PI,也可以使用3.14)

作业结果

1

2

 

3

 

4.5暂时不会

6

 

 7

 8

 9

 

 10

 

 11

 

 12

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5701145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存