python day 2

作业

一.

python day 2_第1张图片

python day 2_第2张图片

二.交换两个数,用尽可能多的方法

 1.三方交换原则

python day 2_第3张图片

注:选中代码,CTRL+/ 快速注释

%s 表字符串

优点:简单

缺点:浪费内存空间        

2.数学法(加减总和除自身交换原则,乘积除自身交换原则。 )   python day 2_第4张图片 优点:不占内存

缺点:抽象

3.python独有

python day 2_第5张图片

调用了临时寄存器,隔离了空间 

4.异或运算法

注:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),

技术

一,基本数据类型:

1)数值型:整数型(int) 浮点数(float)复数(虚数)

2)布尔类型:真 (True) 假(False)

3)字符串:单引号:‘字符串’

                    双引号:“字符串”

                    三引号:"""字符串"",  '''字符串'''(注:可以换行写

4)None:表空,没有

二.复合数据类型:

对象,万物皆对象  list  set dict tuple .......

注:input 默认接收到的数据类型为字符串

三.数据类类型转换:

为什么要数据类类型转换?

因为不同的数据类型相运算,可能会报错

1)自动类型转换

   整数和小数自动向高精度转换

如果不尔类型和数值类型运算,布尔类型自动转换为数值类型

True转为1,false转为0

2)强制类型转换

python day 2_第6张图片

 python day 2_第7张图片

int(字符串)   #字符串转为整数

float(字符串)    #字符串转为 浮点数

str(数值)     #其他类型转为 字符串

四.字符串格式化输出:

1)通过%s(%f,%d)占位

2){}占位输出

3)将其他类型全部转换为字符串,通过+拼接,统一输出

4)f"{a}+{b}={a+b}”

5)通过逗号显示变量

python day 2_第8张图片

 补:print(“a={}”.format{a})

cls 清屏命令,exit()退出命名

浮点数存储问题;把小数换成整数运算,近视值,所以python中0.1+0.5!=0.6

五.常见运算符:

1) 算数运算符(+,-,/,*,%,**(幂次方),//(整除))

注:从右向左运算,有括号先算括号里面的

关系(比较)运算符(and,or,not(不是,取反的意思))

2)逻辑运算符(<,>,<=,>=,==,!=)注:结果是布尔值

3)赋值运算符

=       #将右侧的结果赋值给左侧(优先级别极低

+=     #a+=10 等价于(<===>)a=a+10

-=

*=

/=

//=

**=

%=

注;python中没有自加和自减运算,用+=和-=来替代

4)三目运算符

c,java语言中

变量=表达式?结果1:结果2;

例如:

    a = 10 > 3 ? 20 : 100;
        if (10 > 3) {
            a = 20;
        } else {
            a = 100;
        }
    

python语言中:

              变量 = 结果1 if 表达式 else 结果2

5)位运算符

位(bit):它是计算机中的最小的单位

&(与运算)

|(或运算)

^(异或运算)

~(按位取反)

<<(左移运算)

>>(右移运算)

所属运算符(in,not in )

10    1010
11    1011


与运算符
10 & 11 = 10

    1010
    1011    &
    -------------
    1010        


或运算符
10 | 11    = 11

    1010
    1011    |
    -------------
    1011        


异或运算

(如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1))
10 ^ 11    = 1

    0000 1010
    0000 1011    ^
    -------------
    0000 0001    

按位取反
~
    ~0000 1010
    -----------
     1111 0101

左移运算
    <<


右移运算符
    >>

-2 + 2    = 0

0000 0010
1000 0010    +
--------------
1000 0100

注;

&& 和 || 分别为 "短路与 "和" 短路或"
&& 若前面的表达式结果为false,整个逻辑表达式的结果就为false,所以后面的表达式无论true或者false都无法影响整个逻辑表达式的结果,所以为了提高代码执行效率,后面的表达式就不会执行。

同理,若前面的表达式为true,则后面的表达式也无需计算。

& 和 | 为 不短路与 和 不短路或
无论什么情况,前面的和后面的表达式都要执行
————————————————
版权声明:上方红色注文为CSDN博主「清宵尚温。」的原创文章,遵循CC 4.0 BY-SA版权协议,转载附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dreamboy_w/article/details/112424885

符号位:取最高位

0为正,1为负

列:0111 1111  +127

       1111 1111   -127

共 254个

还有0000 0000(0),1000 0000(128)

如下的三个概念,全部都是因为负数二进制运算出错,为解决而提出

原码:原始的二进制

反码:符号位不变,其余位取反

补码:反码加1

注:关于原码,反码,补码详细可以参考链接文章http://t.csdn.cn/WBJXI

程序控制流程:

顺序:从左到右,自上而下

选择结构:

    单分支

if  条件:        #条件成立,执行缩进代码

python day 2_第9张图片

双分支

    if  condition:

              #  条件成立,执行缩进代码

    else: 

              #   条件不成立,执行else中代码 

python day 2_第10张图片多分支

if 条件1:
            # 条件1成立,执行缩进的代码
        elif 条件2:
            # 条件2成立,执行缩进的代码
        ……
        elif 条件n:
            # 条件n成立,执行缩进的代码
        [else:
            # 剩余条件 

python day 2_第11张图片

注:tab和空格建不能混用(符号表示不一样),要报错

    中括号[]中表示可写,可不写的代码

\t 的作用:输出空格

\n 的作用:换行

你可能感兴趣的:(python,python)