算术操作符

-

*

/

%

**

//

>>> a = 5

>>> a = a + 3

>>> a =+ 3

>>> b=3

>>> b -= 1

>>> b

2

>>> a

3

>>> a = b = c = d = 10

>>> a += 1

>>> b -= 3

>>> c *= 10

>>> d /= 8

>>> a

11

>>> b

7

>>> c

100

>>> d

1.25

>>> 

>>> 10 // 8

1

>>> 3.0 // 2

1.0

>>> 

>>> 5 % 2

1

>>> 11 % 2

1

>>> 2 ** 3

8

>>> 3 ** 2

9

>>> 

优先级问题

>>> -3 * 2 + 5 / -2 - 4

-12.5

>>> (3 < 4) and (4 < 5)

True

>>> -3 ** 2

-9

>>> -(3 ** 2)

-9

>>> 3 ** -2

0.1111111111111111

>>> 3 ** (-2)

0.1111111111111111

>>> 

比较操作符

<

<=

>

>=

==

!=

逻辑操作符

and

or

not

True \ False

>>> not True

False

>>> not False

True

>>> not 0

True

>>> not 4

False

>>> 3 < 4 < 5

True

>>> 

又是优先级问题

幂运算      **

正负号      +x -x

算术操作符   * / // + -

比较操作符    < <= > >= == !=

逻辑运算符    not and or

了不起的分支和循环 


加载背景音乐

播放背景音乐(设置单曲循环)

我方飞机诞生

interval = 0


while True:

    if 用户是否点击了关闭按钮:

        退出程序

    

    interval += 1

    if interval == 50:

        interval = 0

        小飞机诞生


    小飞机移动一个位置

    屏幕刷新

    

    if 用户鼠标产生移动:

        我方飞机中心位置 = 用户鼠标位置

        屏幕刷新

        

    if 我方飞机与小飞机发生肢体冲突:

        我方挂,播放撞机音乐

        修改我方飞机图案

        打印“Game over”

        停止背景音乐,最好淡出

了不起的分支和循环2

按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

解题方案:

method1.py

method2.py

method3.py


method1.py:

score = int(input('请输入一个分数:'))

if 100 >= score >= 90:

    print('A')

if 90 > score >= 80:

    print('B')

if 80 > score >= 60:

    print('C')

if 60 > score >= 0:

    print('D')

if score < 0 or score > 100:

    print('输入错误!')


method2.py:

score = int(input('请输入您的分数:'))

if 100 >= score >= 90:

    print('A')

else:

    if 90 > score >= 80:

        print('B')

    else:

        if 80 > score >= 60:

            print('C')

        else:

            if 60 > score >= 0:

                print('D')

            else:

                print('输入错误!')


method3.py:

score = int(input('请输入一个分数:'))

if 100 >= score >= 90:

    print('A')

elif 90 > score >= 80:

    print('B')

elif 80 > score >= 60:

    print('C')

elif 60 > score >= 0:

    print('D')

else:

    print('输入错误!')


那一种方法好:第一个都会执行(占内存),第二个和第三个都只执行相应。

Python可以有效避免“悬挂else”

什么叫“悬挂else”?

我们举个例子,初学C语言的朋友可能很容易被以下代码欺骗:

if ( hi > 2 )

if( hi > 7 )

printf(“好棒!好棒!”);

else

printf(“切~”);


条件表达式(三元操作符)

有了这个三元操作符的条件表达式,你可以使用一条语句来完成以下的条件判断和赋值操作:

x, y = 4, 5

if x < y:

small = x

else:

small = y

例子可以改进为:

small = x if x < y else y

断言(assert)

assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。

举个例子:

>>> assert 3 > 4

 

一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。